Visualizzazione risultati 1 fino 9 di 9

Discussione: Come controllare se una query non trova valori

  1. #1
    Guest

    Predefinito Come controllare se una query non trova valori

    Ciao
    sto facendo questo script:
    Codice PHP:
    <?php
    $db
    = mysql_connect("", "","");
    mysql_select_db('vocabolario',$db);
    $parola = $_GET['parola'];
    echo
    "$parola";
    if(!isset(
    $parola)){
    echo
    "<p>Devi inserire una parola da cercare!</p>";
    }
    else{
    $query1 = mysql_query("SELECT definition.parola,definition.definizione,avg(voto.votazione)
    FROM definition,voto
    where voto.iddefinition=definition.iddefinition AND parola= '
    $parola'
    group by (definition.iddefinition)"
    );
    //$parola = utf8_decode($row["definition.parola"]);
    if(!empty($query1)){
    echo
    "<table border=\"0\" align=\"center\">";

    echo
    "<tr>"."<td><h3>Parola</h3></td>"."<td><h3>Definizionizione</h3></td><td><h3>Voto</h3></tr>";
    while(
    $row = mysql_fetch_array($query1, MYSQL_ASSOC)) {
    echo
    "<tr>";

    echo
    "<td>".utf8_decode($row["parola"])."</td>";

    echo
    "<td>".utf8_decode($row["definizione"])."</td>";
    echo
    "<td align=\"center\">".utf8_decode($row["avg(voto.votazione)"])."</td>";

    echo
    "</tr>";

    }
    echo
    "</table>";
    }
    else{
    echo
    "<p> Non è stato trovato alcun risultato</p>";
    }
    mysql_close($db);
    }
    ?>
    Come potete notare ho già provato a risolvere il mio problema usando !empty
    ma niente..
    io vorrei praticamente che se la queri mi trova il risultato bene allora fai tutti
    se invece non me lo trova scrivi :parola non trovata
    grazie della collaborazione

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,762

    Predefinito

    mysql_num_rows() ritorna il numero di record trovati....Quindi puoi controllare se ritorna 0

    Ciao!
    Ultima modifica di alemoppo : 07-03-2010 alle ore 13.24.19

  3. #3
    Guest

    Predefinito

    Grazie ho risolto cosi dunque:
    Codice PHP:
    <?php
    $db
    = mysql_connect("localhost", "root", "asd0405qwe0405");
    mysql_select_db('vocabolario',$db);
    $parola = $_GET['parola'];
    echo
    "$parola";
    if(!isset(
    $parola)){
    echo
    "<p>Devi inserire una parola da cercare!</p>";
    }
    else{
    $query1 = mysql_query("SELECT definition.parola,definition.definizione,avg(voto.votazione)
    FROM definition,voto
    where voto.iddefinition=definition.iddefinition AND parola= '
    $parola'
    group by (definition.iddefinition)"
    );
    //$parola = utf8_decode($row["definition.parola"]);
    //$row1 = mysql_fetch_array($query1, MYSQL_ASSOC);
    //dichiaro una variabile booleana
    $enter = false;
    echo
    "<table border=\"0\" align=\"center\">";

    echo
    "<tr>"."<td><h3>Parola</h3></td>"."<td><h3>Definizionizione</h3></td><td><h3>Voto</h3></tr>";
    while(
    $row = mysql_fetch_array($query1, MYSQL_ASSOC)) {
    echo
    "<tr>";

    echo
    "<td>".utf8_decode($row["parola"])."</td>";

    echo
    "<td>".utf8_decode($row["definizione"])."</td>";
    echo
    "<td align=\"center\">".utf8_decode($row["avg(voto.votazione)"])."</td>";

    echo
    "</tr>";
    $enter = true; //finchè trovi valori mettimi la variabile a vero

    }
    echo
    "</table>";
    if(!
    $enter){//se i valori sono nulli cioè enter è falsa
    echo "<p> Non è stato trovato alcun risultato</p>";
    }
    mysql_close($db);
    }
    ?>
    Però la tabella me la stampa ugualmente anche se vuota.. io non la voglio !!
    Ripeto i miei ringraziamenti
    ciao

  4. #4
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Codice PHP:
    echo "<table border=\"0\" align=\"center\">";

    echo
    "<tr>"."<td><h3>Parola</h3></td>"."<td><h3>Definizionizione</h3></td><td><h3>Voto</h3></tr>";
    Ma la tabella viene stampata proprio per queste righe che ho inserito sopra.
    Salvati tutta la tabella in una stringa e poi la stampi:
    Codice PHP:
    <?php
    $db
    = mysql_connect("localhost", "root", "asd0405qwe0405");
    mysql_select_db('vocabolario',$db);
    $parola = $_GET['parola'];
    echo
    "$parola";
    if(!isset(
    $parola)){
    echo
    "<p>Devi inserire una parola da cercare!</p>";
    }
    else{
    $query1 = mysql_query("SELECT definition.parola,definition.definizione,avg(voto.votazione)
    FROM definition,voto
    where voto.iddefinition=definition.iddefinition AND parola= '
    $parola'
    group by (definition.iddefinition)"
    );
    //$parola = utf8_decode($row["definition.parola"]);
    //$row1 = mysql_fetch_array($query1, MYSQL_ASSOC);
    //dichiaro una variabile booleana
    $enter = false;
    $table = "<table border=\"0\" align=\"center\">";

    $table .= "<tr>"."<td><h3>Parola</h3></td>"."<td><h3>Definizionizione</h3></td><td><h3>Voto</h3></tr>";
    while(
    $row = mysql_fetch_array($query1, MYSQL_ASSOC)) {
    $table .= "<tr>";

    $table .= "<td>".utf8_decode($row["parola"])."</td>";

    $table .= "<td>".utf8_decode($row["definizione"])."</td>";
    $table .= "<td align=\"center\">".utf8_decode($row["avg(voto.votazione)"])."</td>";

    $table .= "</tr>";
    $enter = true; //finchè trovi valori mettimi la variabile a vero

    }
    $table .= "</table>";

    if(
    $enter) {
    echo
    $table;
    } else {
    echo
    "<p> Non è stato trovato alcun risultato</p>";
    }

    mysql_close($db);
    }
    ?>

  5. #5
    Guest

    Predefinito

    Ah...
    grazie..non sapevo si potesse fare una cosa del genere
    il .= quindi concatena le stringhe in una variabile?

  6. #6
    Guest

    Predefinito

    Esattamente, come il += somma un valore ad una variabile, il -= sottrae un valore da una variabile, e così via. Basta che metti l'operatore seguito da un uguale per effettuare l'operazione su quella variabile. Praticamente questo codice:
    Codice PHP:
    <?php
    $var1
    = 9;
    $var1 += 5;
    ?>
    È uguale a questo:
    Codice PHP:
    <?php
    $var1
    = 9;
    $var1 = $var1 + 5;
    ?>
    Solamente che è più veloce e professionale!

  7. #7
    Guest

    Predefinito

    Amico.. prima di te ho fatto ben 3 anni di programmazione!!!

    Scherzo.. non te ne offendere..

  8. #8
    Guest

    Predefinito

    No, niente, figurati, ho solo voluto chiarire una cosa che non ero sicuro sapessi
    Comunque io ne ho 4 alle spalle, facciamo a gara?

  9. #9
    Guest

    Predefinito

    va beh.. io ho contato quelli scolastici :P

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •