Newsgroup: it.comp.www.php
Titolo: non trovo "if not" :|

Come si fa ad esprimere una cosa tipo if not in php?
Ad esempio in c è if (!variabile)


č proprio cosě, come il C ;-)
Ciao
Francesco Mazzi
Webmaster di AltroPC.it - 
http://www.altropc.it
 
Project Admin di "PHP Reservation - Online booking system" - 
http://phpreservation.sourceforge.net
Dev.Staff di E-Xoopport - 
http://dev.e-xoopport.it

> č proprio cosě, come il C ;-)
Mmhh allora c'č qualcosa che non mi torna.... ho un lenco di offerte che
potrebbe essere vuoto ma facendo if (!$righe) non funziona, non mi entra
nell'if se non ci sono offerte. Se invece faccio if ($righe) e ci sono
offerte mi entra nell'if.... forse perchč restituisce qualcosa di diverso da
uno 0 mysql_fetch_array quando non trova delle righe nel risultato della
query (tipo un NULL o qualcosa del genere)??
while ($valori = mysql_fetch_array ($queryOfferte))
  {
  $righe = mysql_num_rows ($queryOfferte);
  if (!$righe)
  {
   echo"Non ci sono risultati";
  }

 query (tipo un NULL o qualcosa del genere)??
Ehm.. scusate intendevo mysql_num_rows e non mysql_fetch_array

 ha detto:

mysql_num_rows richiede come argomento il risultato della query, non
la query stessa!


 la query stessa!
Sisi queryOfferte sta per "risultato della query offerte", quello è giusto
:)

Cmq se proprio non trovo una soluzione farò una cosa tipo:
if ($righe)
  {
       tutto quello che devo fare quando ci sonorisultati
   }
else
{
    quello che devo fare quando non ci sono risultati
}
però volevo capire come mai fa così.... :|

:)
capito..allora prova a vedere con un echo che valore assume in questi
casi in cui non funziona a dovere


 casi in cui non funziona a dovere
Già provato e non stampa niente :(
while ($valori = mysql_fetch_array ($queryOfferte))
  {
      $righe = mysql_num_rows ($queryOfferte);
      echo"VALORE: $righe";
      ecc. ecc.
   }

 ha detto:

Hai ablilitato l'error reporting su ALL?


> Hai ablilitato l'error reporting su ALL?
Adesso ho provato anche cosě ma non da nessun errore

       $righe = mysql_num_rows ($queryOfferte);
...dimmi quanti risultati ci sono nella query
Tradotto in italiano: se non ci sono risultati nella query non ti dira`
mai quanti risultati ci sono nella query.
Il num_rows lo devi mettere prima del fetch_array.
Bye.

> Il num_rows lo devi mettere prima del fetch_array.
Ma quindi dovrei ripetere la query 2 volte? una volta per sapere quanti
risultati ci sono ed un'altra per postare i risultati?



Io darei una letta al manuale, fossi in te.
La query la fai una volta con mysql_query. Poi ti fai dare il numero di
risultati con mysql_num_rows e infine, una alla volta, prendi le righe dal
risultato con mysql_fetch_array.
Bye.

 risultato con mysql_fetch_array.
Ops si scusa fatto... non mi ero accorto che era tutto dentro al while...
sono un pò rimbambito stamattina ho dormito troppo poco :(
Grazie cmq ad entrambi per l'aiuto! :)

 Adesso ho provato anche cosě ma non da nessun errore
Riposteresti il codice come tu lo vorresti, che mi sono perso...

 Ad esempio in c è if (!variabile)
una cosa del genere potrebbe delucidare..
if(($c = mysql_num_rows($result)) < 1)
        echo "Nessuna riga";
else{
        echo "Sono presenti $c righe";
        while($row = mysql_fetch_assoc($result))
                while(list($key, $value) = each($row))
                        echo "$key = $value<br />\r\n";
}
-- 
www.iuz-lab.info

 Ad esempio in c è if (!variabile)
una cosa del genere potrebbe delucidare..
if(($c = mysql_num_rows($result)) < 1)
        echo "Nessuna riga<br />\r\n";
else{
        echo "Sono presenti $c righe<br />\r\n";


Grazie cmq ad entrambi per l'aiuto! :)
uff...anch'io non me ne ero accorto :-| 
