Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Miglioramento query

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    360

    Miglioramento query

    Salve ragazzi!

    Compilando i campi codice, cognome, nome di un form e facendo partire la seguente query
    Codice PHP:
    $query "SELECT codice,cognome,nome,indirizzo,telefono FROM utenti WHERE codice = '$codice' AND cognome = '$cognome' AND nome = '$nome'"
    riesco a identificare il record che soddisfa il WHERE e AND e stampare a video altri campi presenti nel DB ovvero indirizzo e telefono.

    Vorrei fare in modo che se un utente digita nei campi del form codice, cognome, nome, dati che non combaciano, mi apparisse un messaggio del tipo "utente non presente nel database", ora infatti succede che se compilo i dati a caso, vengono stampati nella pagina successiva ma non trovando nessuna corrispondenza precisa, i campi indirizzo e telefono giustamente rimangono vuoti.

    In sintesi se il WHERE e AND combaciano con i dati del DB, deve comparire il riepilogo, diversamente deve comparire un messaggio che non è stata trovata nessuna corrispondenza.

  2. #2
    una cosa del genere vuoi:

    Codice PHP:
    $query // mia query;
    $result mysql_query($query);

    if (
    mysql_num_rows($result) != 0)
       {
           
    // Se vi è almeno una corrispondenza fai qualcosa
        
    }
    else
       {
          
    // Fai altro
       

    ho risolto il tuo problema?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    360
    Originariamente inviato da goikiu
    una cosa del genere vuoi:

    Codice PHP:
    $query // mia query;
    $result mysql_query($query);

    if (
    mysql_num_rows($result) != 0)
       {
           
    // Se vi è almeno una corrispondenza fai qualcosa
        
    }
    else
       {
          
    // Fai altro
       

    ho risolto il tuo problema?
    Si... perfetto! lo 0 di
    Codice PHP:
    if (mysql_num_rows($result) != 0
    cosa stà a significare? Per me è importante che le corrispondenze siano tutte e 3 insieme ovvero codice, cognome, nome, se uno di questi valori (ad esempio nome) non fa parte della stessa riga del record, allora deve partire quel else che hai impostato tu.

    E' già così?

  4. #4
    Originariamente inviato da harry80
    Si... perfetto! lo 0 di
    Codice PHP:
    if (mysql_num_rows($result) != 0
    cosa stà a significare? Per me è importante che le corrispondenze siano tutte e 3 insieme ovvero codice, cognome, nome...
    mysql_num_rows()
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    360
    Originariamente inviato da satifal
    mysql_num_rows()
    Lo so, sono domande banali ma quando si ha un pronlema sembra che non ci si capisca mai nulla per poi dire... era una cavolata!

    Io però non ho ancora capito cosa significhi != 0.

    Altra cosa, io mio script finisce così

    Codice PHP:
    // invio la query
    $result mysql_query($query);

    // controllo l'esito
    if (mysql_num_rows($result) != 0)
       { 
        echo 
    "OK";
        } 
    else
       { 
        echo 
    "NO";
       }

    while (
    $row          mysql_fetch_assoc($result)) {
           
    $codice     htmlentities($row['codice']);
           
    $cognome htmlentities($row['cognome']);
           
    $nome      htmlentities($row['nome']);
           
    $indirizzo  htmlentities($row['indirizzo']);
           
    $telefono   htmlentities($row['telefono']);
    }

    // libero la memoria di PHP occupata dai record estratti con la SELECT
    mysql_free_result($result);

    // chiudo la connessione a MySQL
    mysql_close();

    ?> 
    quel while l'ho posizionato correttamente?

  6. #6
    Originariamente inviato da harry80
    Io però non ho ancora capito cosa significhi != 0.
    Hai letto almeno il manuale che ti ho linkato riguardo alla funzione mysql_num_rows()? Hai capito a cosa serve e cosa ti restituisce? Se si allora cosa può significare secondo te il != 0?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    != 0 vuol dire "non è uguale a zero"
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  8. #8
    mysql_num_rows mi dice il numero di risultati della query
    il controllo è se il numero di risultati della tua query è diverso da zero allora ok, ha trovato un record

    quindi il controllo è con mysql_num_rows ma è importante che la query funzioni bene, forse te avevi problemi pure con la query.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    360
    No, nessun problema con la query.

    Ora tutto chiaro!

    Grazie e portate pazienza per le banalità chieste!

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.