- Home
- Categorie
- Coding e Sistemistica
- PHP
- Assegnazione variabili in un ciclo while
-
Assegnazione variabili in un ciclo while
Innanzitutto ciao a tutti, è la prima volta che scrivo in questo forum
Prima di decidermi a scrivere ho cercato delle soluzioni in discussioni già aperte, ma non sono riuscita a trovare ciò di cui ho bisogno:
Io ho una query select che mi estrae da un unico campo, mediante un while, n righe (di cui a priori non conosco il numero esatto). Io devo mettere questi valori in variabili che dovrò usare per una seconda query select, dove dirò di estrarmo dei valori **tranne **che i valori estratti dalla prima query.
Io ho fatto la prima query
$sqlb0 = "SELECT INCANTESIMO FROM LIBRO WHERE NOME = '$MIO' AND LIVELLO = 1";
$queryb0 = mysql_query($sqlb0,$connessione) or die(mysql_error());
$TOT = mysql_num_rows($queryb0);
if ($TOT > 0) {
while($row=mysql_fetch_array($queryb0)){
$INC_APPRESO=row["INCANTESIMO"]
}e qui casca l'asino... perchè nella seconda query io dovro' dire
$sqlb1 = "SELECT NUOVO_INCANTO FROM SCUOLA WHERE NUOVO_INCANTO != '$INC_APPRESO'";
Ma gli incanti già appresi possono essere più di 1! Come faccio a identificarli tutti e assegnare una variabile a ciascuno per poterli escludere dalla seconda query?
Grazie in anticipo a tuttips sto programmando un gioco di ruolo non sono una strega
Grazie!
-
Prendi i valori in array .
Ecco qui.
$sqlb0 = "SELECT INCANTESIMO FROM LIBRO WHERE NOME = '$MIO' AND LIVELLO = 1";
$queryb0 = mysql_query($sqlb0,$connessione) or die(mysql_error());
$TOT = mysql_num_rows($queryb0);
if ($TOT > 0) {
while($row=mysql_fetch_array($queryb0)){
$inc_appreso[]=$row["INCANTESIMO"];
}$array_inc_appreso = implode(",", $inc_appreso);
$sqlb1 = "SELECT NUOVO_INCANTO FROM SCUOLA WHERE NUOVO_INCANTO NOT IN ($array_inc_appreso)'";
:D;)
-
Funziona!!
Tra l'altro il "not in" ancora mi era sconosciuto, credevo si potessero fare query solo con il comparativo = oppure != , mi sarà utilissimo per il futuro!
Grazie mille, sei un... mago
-
Un piacere:D