record non trovato. come si fa?

Salve, ho questo codice semplice, ed vorrei mettere che quando non trova il record stampa "record non trovato".

Ma non riesco come farlo:

ecco il codice:

$q=mysql_query("SELECT * FROM users WHERE user_nick='".$_GET["nick"]."'");
$dati=mysql_fetch_array($q);   
     $firstname = "".$dati["user_firstname"]."";
     $lastname = "".$dati["user_lastname"]."";
     $nick = "".$dati["user_nick"]."";
          $location = "".$dati["user_location"]."";
          $gruppo = "".$dati["user_ruolo"]."";
     $uId = "".$dati["user_nick"]."";
     $datareg = "".$dati["user_datareg"]."";
     $birthday = "".$dati["user_birthday"]."";
     $birthMonth = "".$dati["user_birthMonth"]."";
     $birthYear = "".$dati["user_birthYear"]."";
     $annulla_nick = $_GET["nick"];
     $info = "".$dati["user_info"]."";
     $Zodiacale  = "".$dati["user_Zodiaco"]."";
     $Age  = "".$dati["user_age"]."";
     $sex = "".$dati["user_sex"]."";
?>
inviato 7 anni fa
luigi
X 0 X

puoi usare la funzione mysql_num_rows che restituisce il numero di righe di una query:

if (mysql_num_rows($q) == 0) { 
 echo "Risultato non trovato"; }
else {
echo "Risultato trovato";
}
risposto 7 anni fa
Hroud
X 0 X

puoi usare la funzione mysql_num_rows che restituisce il numero di righe di una query:

if (mysql_num_rows($q) == 0) { 
 echo "Risultato non trovato"; }
else {
echo "Risultato trovato";
}

ok. apena posso provo. e poi ti faccio sapere.

risposto 7 anni fa
luigi
X 0 X

ad esempio in questo codice non mi funziona:

<?php
session_start();
include("../../inc.php");
include("menu.php");
?><?php
$username = $_SESSION['username'];
$pass = $_SESSION['password'];
$mail = $_SESSION['mail'];
$Livello = $_SESSION['Livello'];
$login = $_SESSION['login'];
// Se non č stata definita la variabile manda l'utente alla homepage
if(!isset($login))
{
   echo "<meta http-equiv='refresh' content='0;URL=../index.php'>"; 
   
}


$result=mysql_query("select * from users where user_nick='".$_GET['nick']."'");

?>
<table width="100%" align="center">
<tr>
<td    style="text-align:center;"><strong>Nome</strong></td>
<td    style="text-align:center;"><strong>Email</strong></td>
<td    style="text-align:center;"><strong>Registrazione</strong></td>
</tr>
<?php
while($row=mysql_fetch_assoc($result)){
 if (mysql_num_rows($result) == 0) { 
 echo "Risultato non trovato"; }
else {
 $nick= "".$row["user_nick"]."";
 $email = "".$row["user_email"]."";
 $datareg = "".$row["user_datareg"]."";
 

?>
<tr>
<tD   style="text-align:center;"><?=$nick?></td>
<td   style="text-align:center;"><?=$email?></td>
<td   style="text-align:center;"><?=$datareg?></td>
</tr>
</table>
<?php }} ?>
<p style="font-size:10px;">Ultime immgini inserite</p>
<?php

$result=mysql_query("select * from photobook where author='".$_GET['nick']."' ORDER BY datepub DESC");

?>
<table width="100%" align="center">
<tr>
<td    style="text-align:center;"><strong>Nome</strong></td>
<td    style="text-align:center;"><strong>photo</strong></td>
<td    style="text-align:center;"><strong>Data Inserimento</strong></td>
</tr>
<?php
while($row=mysql_fetch_assoc($result)){
if (mysql_num_rows($result) == 0) { 
 echo "Risultato non trovato"; }
else {
 $nick= "".$row["author"]."";
 $photo = "".$row["Nome"]."";
 $datareg = "".$row["datepub"]."";
?>
<tr>
<tD   style="text-align:center;"><?=$nick?></td>
<td   style="text-align:center;"><?=$photo?></td>
<td   style="text-align:center;"><?=$datareg?></td>
</tr>
<?php }} ?>
</table>

come mai?. č giusto il procedimento ho sbaglio qualcosa?.

risposto 7 anni fa
luigi
X 0 X
if (mysql_num_rows($result) == 0) { }

  lo dovresti mettere fuori dal ciclo while, dato che prima controlla, e se sono presenti record esegue il ciclo per estrarre i valori.

risposto 7 anni fa
Hroud
X 0 X

ok, si ha funzionato. mettendolo fuori dal ciclo.

risposto 7 anni fa
luigi
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda