Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957

    Risposta da una query SQL

    Ciao,
    ho una domanda semplice semplice.
    Come faccio a capire se una query mi ha dato un risultato nullo?
    Ho provato con
    [CODE]
    do{
    $result = mysql_query("SELECT * FROM dati WHERE anno='$anno' AND mese='$mese' AND giorno='$giorno'", $db);
    }while (mysql_fetch_array($result)==FALSE);
    ...
    [CODE]

    però così l'array mi scala di un riga il risultato.
    Come faccio ad uscire dal ciclo se non ho risultati?
    Grazie

  2. #2

  3. #3
    mysql_num_rows()

    non e' il massimo utilzzare un do...while per fare la query.

    meglio sicuramente:
    codice:
    $result = mysql_query("SELECT * FROM dati 
                           WHERE anno='$anno' 
                           AND mese='$mese' 
                           AND giorno='$giorno'", $db);
    if(mysql_num_rows($result) > 0  ) {
          while($row = mysql_fetch_assoc($result)) {
               echo $row ecc....
          }
    }

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957
    ok, è proprio quello che cercavo.
    devo fare un do...while perchè devo progressivamente incrementare $giorni finchè nn trovo un risultato... che altroa soluzione potrebbe esserci?

    Ciao

  5. #5
    [supersaibal]Originariamente inviato da GoldEmish
    ok, è proprio quello che cercavo.
    devo fare un do...while perchè devo progressivamente incrementare $giorni finchè nn trovo un risultato... che altroa soluzione potrebbe esserci?

    Ciao [/supersaibal]
    Usare le date.

    where data >= '$data_di_riferimento'
    order by data
    limit 1


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957
    ah... quindi devo cambiare il valore della tabella, non va bene un valore int.
    Giusto?

  7. #7
    [supersaibal]Originariamente inviato da GoldEmish
    ah... quindi devo cambiare il valore della tabella, non va bene un valore int.
    Giusto? [/supersaibal]
    Se la dat la metti come TIMESTAMP va bene anche numerico. Andrebbe bene anche numerico per le date, ma le devi forzare (casting) a numerico es.:

    data_num = CURDATE() * 1
    diventera' yyyymmdd invece di yyyy-mm-dd di una data normale.

    Ma e' la stessa cosa, l'importante e' che sia nel formato yyyy mm dd.
    Puoi anche unirle con CONCAT..

    where data_rif = CONCAT(anno,mese,giorno)


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    957
    no ok, forse è più semplice cambiare il campo in DATE.
    Purchè dopo io riesca a fare query anche riferita solo agli anni o ai mesi...
    Grazie mille della pazienza.. sono veramente nuovo di PHP e ancora peggio in SQL.
    Soo già impazzito per installare MySQL e phpmyadmin!
    ...

    Grazie ancora, ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.