Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    array come variabile: ancora problemi (please, help me!)

    continuo a sbatterci la capoccia ...
    allora, questo è il codice:
    codice:
    query = mysql_query("SELECT * FROM `effettuate` WHERE allievo='$id' AND ok = '$checx'")or die('errore: '.mysql_error());while ($row = mysql_fetch_array ($query)) {
        if ( $row['lezione'] ) {
    	$lezz = $row['lezione'];
       }
    }
    $query2 = mysql_query ("SELECT * FROM `utenti` WHERE lez_id='".$row['lezione']."' AND CURDATE() BETWEEN start_lez AND end_lez ORDER BY lez_id ASC LIMIT 1");
       while ($row2 = mysql_fetch_array ($query2)) {
    	$newlez = $row2["lezione"];
    	$newlezid = $row2["lez_id"];
    	}
    questa query non mi restituisce niente, perchè è come se la comparazione tra lez_id e $row['lezione'] fosse nulla, in quanto quest'ultimo non restituisce alcun valore. Però è solo un problema di 'scrittura', perchè se al posto di
    codice:
    WHERE lez_id='".$row['lezione']."'
    scrivo
    codice:
    WHERE lez_id = '$lezz'
    allora tutto funziona!
    Il fatto è che la query precedente può restituirmi più di un valore (adesso, in fase di test, ce n'è uno solo), e quindi non posso assegnarli ad una variabile... devo per forza aver modo di fare la comparazione della seconda query tra il contenuto del campo lez_id e qualsiasi valore restituito dalla prima query.
    please, help me!

  2. #2
    Non ho capito se ho capito bene

    prova

    query = mysql_query("SELECT * FROM `effettuate` WHERE allievo='$id' AND ok = '$checx'")or die('errore: '.mysql_error());while ($row = mysql_fetch_array ($query)) {
    if ( $row['lezione'] ) {
    $lezz[] = $row['lezione'];
    }
    }
    $tutti_id = implode(', ',$lezz);
    $query2 = mysql_query ("SELECT * FROM `utenti` WHERE lez_id IN (".$tutti_id.") AND CURDATE() BETWEEN start_lez AND end_lez ORDER BY lez_id ASC LIMIT 1");
    while ($row2 = mysql_fetch_array ($query2)) {
    $newlez = $row2["lezione"];
    $newlezid = $row2["lez_id"];
    }

  3. #3
    La seconda query dovrebbe stare dentro al primo ciclo WHILE..


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

  4. #4
    Originariamente inviato da bubu77
    Non ho capito se ho capito bene

    prova

    query = mysql_query("SELECT * FROM `effettuate` WHERE allievo='$id' AND ok = '$checx'")or die('errore: '.mysql_error());while ($row = mysql_fetch_array ($query)) {
    if ( $row['lezione'] ) {
    $lezz[] = $row['lezione'];
    }
    }
    $tutti_id = implode(', ',$lezz);
    $query2 = mysql_query ("SELECT * FROM `utenti` WHERE lez_id IN (".$tutti_id.") AND CURDATE() BETWEEN start_lez AND end_lez ORDER BY lez_id ASC LIMIT 1");
    while ($row2 = mysql_fetch_array ($query2)) {
    $newlez = $row2["lezione"];
    $newlezid = $row2["lez_id"];
    }
    Di venerdi' 17 non si parte, non si mettono le () e non si mettono i tag code/php.


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

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    ok Piero, ora 'funge'!
    Thanx...

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.