• User Newbie

    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 tutti 😞

    ps sto programmando un gioco di ruolo non sono una strega 😄

    Grazie!


  • User Attivo

    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;)


  • User Newbie

    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 😄


  • User Attivo

    Un piacere:D