• User Newbie

    Problemi con ciclo while

    Inanzitutto salve a tutti 🙂
    Ho un problema con un ciclo while.
    Mi spiego meglio.
    Estraggo dei dati dal database:

    [PHP]$select236="SELECT * FROM fr_ruoli WHERE utente='$idz22' AND ruolo='Admin'";
    $query236=mysql_query($select236) or die (mysql_error());
    $conta236=mysql_num_rows($query236);
    [/PHP]
    Dopodichè ciclo i risultati
    [PHP]while($result22 = @mysql_fetch_array($query236))
    {
    $forum22=$result22['forum'];
    }[/PHP]

    E dentro lo stesso ciclo vorrei eseguire una query utilizzando proprio i vari risultati del ciclo

    [PHP]
    $select436="SELECT * FROM fr_punti WHERE fr='$forum22' ORDER BY utente ASC";
    $query436=mysql_query($select436) or die (mysql_error());
    $conta436=mysql_num_rows($query436);[/PHP]

    Il codice completo:

    [PHP]$select236="SELECT * FROM fr_ruoli WHERE utente='$idz22' AND ruolo='Admin'";
    $query236=mysql_query($select236) or die (mysql_error());
    $conta236=mysql_num_rows($query236);
    while($result22 = @mysql_fetch_array($query236))
    {
    $forum22=$result22['forum'];
    $select436="SELECT * FROM fr_punti WHERE fr='$forum22' ORDER BY utente ASC";
    $query436=mysql_query($select436) or die (mysql_error());
    $conta436=mysql_num_rows($query436);
    }[/PHP]

    Il problema è che se do echo $forum22; mi restituisce tutti i valori segno che il ciclo viene effettuato correttamente ma mi esegue però solo una query e in particolare con l'ultimo risultato del while.
    Perchè questo? Sto impazzendo 😢


  • User

    secondo me ti fa tutte le query, ma ti tiene nella variabile solo l'ultima dato che te la sovrascrive ad ogni ciclo di while ...

    dovresti fare qualcosa tipo
    [PHP]
    $select236="SELECT * FROM fr_ruoli WHERE utente='$idz22' AND ruolo='Admin'";
    $query236=mysql_query($select236) or die (mysql_error());
    $conta236=mysql_num_rows($query236);
    while($result22 = @mysql_fetch_array($query236))
    {
    $forum22=$result22['forum'];
    $select436="SELECT * FROM fr_punti WHERE fr='$forum22' ORDER BY utente ASC";
    $query436=mysql_query($select436) or die (mysql_error());
    $conta436=mysql_num_rows($query436);
    while($result44 = @mysql_fetch_array($query436))
    {
    echo $result44;
    }
    } [/PHP]