[PHP] Riprendere l'esecuzione di un While

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
Etabeta3030
00mercoledì 24 novembre 2004 03:51
ciao!

sto scoppiando di contentezza perchè ho quasi terminato uno script in php che per la mia limitata abilità era piuttosto difficile [SM=x53914] [SM=x53914] [SM=x53914]

ora mi manca un particolare: ho inserito due cicli di while uno dentro l'altro, così

select * dalla tab1
while (fetch array dalla tab1){
istruzioni(count array);

select * dalla tab2
while (elenca array dalla tab2){
blocco istruzioni;
}
}

Ora il problema è che una volta eseguito il secondo while, non riprende a elencare il primo e non esegue il ciclo fino in fondo, si ferma al primo record.

Cosa devo inserire e dove per fargli continuare l'esposizione del primo array?

Grazie mille, come al solito.... [SM=x53912]

aessenet
00giovedì 25 novembre 2004 00:39
Puoi postare il codice php che gli dò un'occhiata?
Etabeta3030
00giovedì 25 novembre 2004 00:48
Ma sei trooooppo gentile!!! grazieeee

eccolo qui, ho provato ad inserire "next;" su suggerimento di un amico, ma non funzia


<?php
include("mysql_conf.php");


$db=db_connect($db);
$query="SELECT * FROM mesi";
$res=mysql_query($query,$db);


while ($row=mysql_fetch_array($res))
{


$indice=$row[id_mese];
$mese=$row[nome_mese];
$giorni=$row[gg_mese];

echo "<table>";

echo "<td width=120>".$mese."</td>";

$nr = $giorni;

for ($i=1;$i<=$nr;$i++){
echo "<td>".$i."</td>";

}

//echo "</table>";

$db=db_connect($db);
$query="SELECT * FROM corsi";
$res=mysql_query($query,$db);

while ($row=mysql_fetch_array($res)) {

$cid=$row[corso_id];
$corso=$row[corso_name];
$dal=$row[dal];
$al=$row[al];
echo "<table>";
echo "<td width=120>".$corso."</td>";

for ($i=1;$i<=$nr;$i++){
if ($i>$dal && $i<$al) {
echo "<td bgcolor=#FF9999>$i</td>";
}
else{
echo "<td bgcolor=#FFFFFF>$i</td>";
}
//echo "<td>".$i."</td>";
}
}
next;
}

echo "</table>";

?>

</body>
</html>

Etabeta3030
00giovedì 25 novembre 2004 01:11
CE L'HO FATTAAAAAAAA [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914]

soluzione trovata "a naso"... ho nominato diversamente la $res che estraeva il secondo array!!!!!

Grazie comunque Aessenet, sei sempre la mia ultima speranza, e una delle persone più gentili che (non) conosco (ancora), ma sono in debito.

Adesso devo saltellare per una mezzoretta per scaricare l'adrenalina
[SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914] [SM=x53914]
aessenet
00giovedì 25 novembre 2004 10:06
Esattamente [SM=x53911]

Siccome è la variabile $res a determinare la continuazione del primo ciclo, quando fai la seconda interrogazione devi usare un altro nome di variabile per puntare ai risultati.

Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 01:19.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com