Non funziona la condizione IF

  • Creatore Discussione Creatore Discussione dream88
  • Data di inizio Data di inizio

dream88

Utente Attivo
8 Apr 2009
62
0
0
Ciao!
Un altro problema con php... Non mi legge una condizione if! Questo è il codice:

function mostra_lista()
{

$querycarr ="Select * from carrello where Utente=$_SESSION[login]";
$resultcarr =mysql_query($querycarr);
if ($resultcarr =="") {
die("Il carrello è vuoto");
}
else
{
echo '
<form name="form1" method="post" action="">
<table border="1">
<tr>
<th>&nbsp;</th>
<th>Titolo</th>
<th>Autore</th>
<th>Editore</th>
<th>Prezzo</th>
</tr>';

while ($carr= mysql_fetch_assoc($resultcarr))
{
echo "<tr>
<td><input name=\"id[]\" type=\"checkbox\" value=\"$carr[Id]\" /></td>
<td>".$carr['Titolo']."</td>
<td>".$carr['Autore']."</td>
<td>".$carr['Editore']."</td>
<td>".$carr['Prezzo']."</td>
</tr>";
}
echo '
<input type="submit" name="Submit" value="Elimina record selezionati" />
</form>';
}
}


La condizione che non mi funzione è: if ($resultcarr=="");
o meglio, la prima volta mi funziona ma se poi elimino tutti i dati visualizzati con il relativo pulsante invece di apparire il messaggio "il carrello è vuoto" mi visualizza la tabella vuota con il pulsante...
Che errore ho fatto?
Grazie anticipatamente per coloro che risponderanno!

P.S. Non so se c'entra qualcosa o meno ma io all'inizio di php ho scritto ob_start() e alla fine ob_end_flush()... Può essere la causa di questo problema?
 
L'utilizzo del resource ritornato da mysql_query non può essere usato in questo modo.
Al posto di
PHP:
if ($resultcarr =="") {
prova ad usare
PHP:
if (mysql_num_rows($resultcarr) == 0) {

La funzione mysql_num_rows restituisce il numero di record ritornato da una query SELECT.
 

Discussioni simili