Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627

    problema query correlata

    Ciao a tutti
    ho un problema con queste query correlate:

    $query = "SELECT * FROM contabilita ORDER BY data_cassa ";
    $result=mysql_query($query);
    while($row=mysql_fetch_array($result)){
    ?>

    <tr>

    <td><?php echo $row['data_cassa']; ?></td>

    <td><?php echo $row['id_locale']; ?></td>

    <td><?php $query1 = "SELECT * FROM causale WHERE id_causale ='".$row['id_causale']."'";

    //$row1 = mysql_fetch_array($query1);

    while($row1=mysql_fetch_array($query1)){

    echo $row1['causale'];

    }
    ?>


    purtroppo mi restituisce quest'errore:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /sito/contabilita/index.php on line 55

    fs vods può dipendere?

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    da "//$row1 = mysql_fetch_array($query1);" devi togliere il commento (la doppia barra iniziale)

  3. #3
    Dichiari $query1 ma non la esegui.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627
    alla fine ho risolto era un problema legato al campo nel db!

    volevo chiedere una cosa:

    ho creato un form di ricerca che punta ad un pagina dove recupero le variabili (circa 6) ed eseguo la query.
    $query = "SELECT * FROM contabilita WHERE id_locale = '".$id_locale."' AND id_causale = '".$id_causale."' ecc....ecc.... ORDER BY data_cassa ";

    ora alcune di queste variabili potrebbero essere vuote in quanto non selezionate nel form, come gestisco la mia query ?

  5. #5
    Originariamente inviato da satifal
    Dichiari $query1 ma non la esegui.
    Originariamente inviato da james81
    alla fine ho risolto era un problema legato al campo nel db!...
    E dov'è che esegui la query $query1 nel codice da te postato?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627
    scusa ho cancellato parte del messaggio di risposta,
    dicevo che comunque ho sostituito la query1 con questa

    $query = mysql_query("SELECT causale FROM causale WHERE id_causale ='".$row['id_causale']."'") or die(mysql_error() );
    $res = mysql_fetch_row($query);
    $max= $res[0];
    echo $max;

    e ora è tuttok ok

  7. #7
    Ok. Per quanto riguarda l'altra domanda, dovresti gestire la cosa manualmente (tramite controlli) altrimenti, così com'è in caso di valori assenti la query ti darebbe errore.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627
    controlli intendi dire degl'if ?

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    tipo...

    Codice PHP:
    if (isset($_POST['id_locale'])) $id_locale $_POST['id_locale']; // qui è meglio anche applicare l'escape per l'sql...
    ...; // altre variabili
    $query "SELECT * FROM contabilita WHERE ((1=1) AND ";
    if (isset(
    $id_locale)) $query .= "(id_locale = '$id_locale') AND";
    ...; 
    // altre variabili
    $query .= "(1=1)) ORDER BY ... "

  10. #10
    Originariamente inviato da eiyen
    tipo...

    Codice PHP:
    if (isset($_POST['id_locale'])) $id_locale $_POST['id_locale']; // qui è meglio anche applicare l'escape per l'sql...
    ...; // altre variabili
    $query "SELECT * FROM contabilita WHERE ((1=1) AND ";
    if (isset(
    $id_locale)) $query .= "(id_locale = '$id_locale') AND";
    ...; 
    // altre variabili
    $query .= "(1=1)) ORDER BY ... "
    Forse sarebbe più corretto e leggibile spostare gli operatori AND all'interno delle condizioni:

    Codice PHP:
    if (isset($_POST['id_locale'])) $id_locale $_POST['id_locale']; // qui è meglio anche applicare l'escape per l'sql...
    ...; // altre variabili

    $query "SELECT * FROM contabilita WHERE 1=1 ";
    if (isset(
    $id_locale)) $query .= " AND id_locale = '$id_locale'";
    ...; 
    // altre variabili
    $query .= " ORDER BY ... "
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.