Visualizzazione dei risultati da 1 a 8 su 8

Discussione: cicli while

  1. #1

    cicli while

    Ciao a tutti ho un problema con dei cicli while.
    Non sò se se si può fare, nè se è più difficile a farlo che spiegarlo, cmq ci provo.

    Ho un ciclo while che estrapola dati da un database.
    Il DB contiene 4 tabelle:
    con una Select estrapolo i campi che mi interessano e li mostro in un layout tabella, sono tutti dati statici, non devono essere modificati, tranne uno che vorrei richiamare all'interno di un menù a tendina e del quale vorrei modificare il valore mediante un pulsante img e senza l'utilizzo di un form. Sinceramente non credo sia fattibile, ma chiedo a voi.

    in pratica questo è lo script:

    Codice PHP:
    $query "SELECT tab1.*, tab2.*, tab3.*, tab4.*
                  FROM tab1, tab2, tab3, tab4
                  WHERE tab1.x = '
    $x'
                  AND tab1.idtab1=tab2.idtab1
                  AND tab1.idtab1=tab3.idtab1
                  AND tab3.stato = 0
                  AND tab4.statotab4 = 'libero'"
    ;
        
    $result mysql_query($query);

    while (
    $myrow mysql_fetch_array($result)){
            
    $id $myrow["idtab1"];
            
    $stato $myrow["stato"];
            
            if(
    $stato == 1){
    $status "si";
            }else{
                
    $status "no";
            }
    //fin qui tutto bene
    //questo secondo ciclo, serve ad estrapolare i dati dalla tab4
    //che devono essere inseriti in un campo select, menù a tendina
    //per poter essere selezionati e modificati tramite updat
    //in un secondo momento. Il punto è che non sò se si possa inserire
    //un ciclo while all'interno di un altro ciclo while, nè se sia
    //posizionato al punto giusto, perchè estrae tutti i dati in modo corretto, tranne il primo id.
            
    while ($myrowtab4 mysql_fetch_array($result)){

                if(
    $myrowtab4["statotab4"] == 'libero'){
                    
    $nome$myrowtab4["campo"];
                    
    $value $nome;
                }else{
                    
    $nome " ";
                }
                
    $option_block .= "<OPTION value=\"$value\">$nome</OPTION>";
                }
            
    //mostro i dati estratti:
            
    echo "<tr bgcolor=\"#eeeeee\">
                  <td align=\"center\">" 
    ucfirst($myrow["campo1"]) . "</td>
                  <td align=\"center\">" 
    ucfirst($myrow["campo..."]) . "</td>
                  <td align=\"center\">[b]" 
    $status "[/b]</td>
            //mostro il campo select      
                  <td align=\"center\"><select name=\"var\">"
    $option_block "</select></td>
            //creo il pulsante img, che funziona correttamente, tranna che per il problema del menù a tendina, 
    $vartab4, dovrebbe essere uguale al valore della variabile scelta nel menù a tendina e una volta identificato tale valore, si deve modificare una voce all'interno del db
    //Cosa facile se nn fosse per il fatto che non ho inserito un form con un semplicissimo submit...giusto per complicarmi la vita!!!
     
                  <td align=\"center\">" 
    "<a href=\"index.php?page=pagina&action=azione&stato=" $myrow["stato"] . "&id=" $myrow["idtab1"] . "&vartab4=" $value "\"><img src=\"img\connetti2.jpg\" alt=\"Connetti\"></a></td>
                  </tr>"
    ;
                      
        }    
        echo 
    "</table></td></tr></table>"
    PS/ i commenti qui presenti come codice perchè all'interno di un echo, ovviamente nello script vero non ci sono.

    ecco, ripeto non sò se si possa fare, senza l'utilizzo del form, anzi, comincio a dubitarne...
    Ma chiedo consiglio a voi...

    Scusate se mi sono troppo dilungata...

    Help me....


  2. #2
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    :maLOL:

    prova così
    codice:
    $query = "SELECT tab4.* 
                  FROM  tab4 
                  AND tab4.statotab4 = 'libero'"; 
     $result = mysql_query($query); 
    
     while ($myrowtab4 = mysql_fetch_array($result)){ 
    
                if($myrowtab4["statotab4"] == 'libero'){ 
                    $nome= $myrowtab4["campo"]; 
                    $value = $nome; 
                }else{ 
                    $nome = " "; 
                } 
                $option_block .= "<OPTION value=\"$value\">$nome</OPTION>"; 
                } 
    }
     
    $query = "SELECT tab1.*, tab2.*, tab3.*
                  FROM tab1, tab2, tab3
                  WHERE tab1.x = '$x' 
                  AND tab1.idtab1=tab2.idtab1 
                  AND tab1.idtab1=tab3.idtab1 
                  AND tab3.stato = 0 "; 
        $result = mysql_query($query); 
    
    while ($myrow = mysql_fetch_array($result)){ 
            $id = $myrow["idtab1"]; 
            $stato = $myrow["stato"]; 
             
            if($stato == 1){ 
    $status = "si"; 
            }else{ 
                $status = "no"; 
            } 
    //fin qui tutto bene 
    //questo secondo ciclo, serve ad estrapolare i dati dalla tab4 
    //che devono essere inseriti in un campo select, menù a tendina 
    //per poter essere selezionati e modificati tramite updat 
    //in un secondo momento. Il punto è che non sò se si possa inserire 
    //un ciclo while all'interno di un altro ciclo while, nè se sia 
    //posizionato al punto giusto, perchè estrae tutti i dati in modo corretto, tranne il primo id. 
            //mostro i dati estratti: 
            echo "<tr bgcolor=\"#eeeeee\"> 
                  <td align=\"center\">" . ucfirst($myrow["campo1"]) . "</td> 
                  <td align=\"center\">" . ucfirst($myrow["campo..."]) . "</td> 
                  <td align=\"center\">" . $status . "</td> 
            //mostro il campo select       
                  <td align=\"center\"><select name=\"var\">". $option_block . "</select></td> 
            //creo il pulsante img, che funziona correttamente, tranna che per il problema del menù a tendina, $vartab4, dovrebbe essere uguale al valore della variabile scelta nel menù a tendina e una volta identificato tale valore, si deve modificare una voce all'interno del db 
    //Cosa facile se nn fosse per il fatto che non ho inserito un form con un semplicissimo submit...giusto per complicarmi la vita!!! 
    
                  <td align=\"center\">" . "<a href=\"index.php?page=pagina&action=azione&stato=" . $myrow["stato"] . "&id=" . $myrow["idtab1"] . "&vartab4=" . $value . "\"><img src=\"imgconnetti2.jpg\" alt=\"Connetti\"></a></td> 
                  </tr>"; 
                       
        }     
        echo "</table></td></tr></table>";

  3. #3
    ok...
    funziona!!!!

    Grazie.

    C'è ancora un problemino però, non visualizza il valore del campo select:
    Codice PHP:
    //mostro il campo select       
                  
    <td align=\"center\"><select name=\"var\">"$option_block "</select></td> 
            //il pulsante img, che funziona correttamente, tranne che per il problema del menù a tendina, 
    $vartab4, dovrebbe essere uguale al valore della variabile scelta nel menù a tendina e una volta identificato tale valore, si deve modificare una voce all'interno del db 
    //Cosa facile se nn fosse per il fatto che non ho inserito un form con un semplicissimo submit...giusto per complicarmi la vita!!! 

                  <td align=\"center\">" 
    "<a href=\"index.php?page=pagina&action=azione&stato=" $myrow["stato"] . "&id=" $myrow["idtab1"] . "&vartab4=" $var "\"><img src=\"imgconnetti2.jpg\" alt=\"Connetti\"></a></td> 
                  </tr>"


  4. #4

  5. #5
    ok...
    funziona!!!!

    Grazie.

    C'è ancora un problemino però, non visualizza il valore del campo select:
    Codice PHP:
    //mostro il campo select       
                  
    <td align=\"center\"><select name=\"var\">"$option_block "</select></td> 
            //il pulsante img, che funziona correttamente, tranne che per il problema del menù a tendina, 
    $vartab4, dovrebbe essere uguale al valore della variabile scelta nel menù a tendina e una volta identificato tale valore, si deve modificare una voce all'interno del db 
    //Cosa facile se nn fosse per il fatto che non ho inserito un form con un semplicissimo submit...giusto per complicarmi la vita!!! 

                  <td align=\"center\">" 
    "<a href=\"index.php?page=pagina&action=azione&stato=" $myrow["stato"] . "&id=" $myrow["idtab1"] . "&vartab4=" $var "\"><img src=\"imgconnetti2.jpg\" alt=\"Connetti\"></a></td> 
                  </tr>"


  6. #6
    Originariamente inviato da stabi
    :maLOL:

    prova così
    codice:
    $query = "SELECT tab4.* 
                  FROM  tab4 
                  AND tab4.statotab4 = 'libero'"; 
     $result = mysql_query($query); 
    
     while ($myrowtab4 = mysql_fetch_array($result)){ 
    
                if($myrowtab4["statotab4"] == 'libero'){ 
                    $nome= $myrowtab4["campo"]; 
                    $value = $nome; 
                }else{ 
                    $nome = " "; 
                } 
                $option_block .= "<OPTION value=\"$value\">$nome</OPTION>"; 
                } 
    }
     
            //creo il pulsante img, che funziona correttamente, tranne che per il problema del menù a tendina, $vartab4, dovrebbe essere uguale al valore della variabile scelta nel menù a tendina e una volta identificato tale valore, si deve modificare una voce all'interno del db 
    //Cosa facile se nn fosse per il fatto che non ho inserito un form con un semplicissimo submit...giusto per complicarmi la vita!!! 
    
                  <td align=\"center\">" . "<a href=\"index.php?page=pagina&action=azione&stato=" . $myrow["stato"] . "&id=" . $myrow["idtab1"] . "&vartab4=" . $value . "\"><img src=\"imgconnetti2.jpg\" alt=\"Connetti\"></a></td> 
                  </tr>"; 
                       
        }
    Grazie, funziona, solo che avrei qualche problemino con il pulsante...o meglio la var del campo select che dovrei inserire nel pulsante.
    Potresti darmi una mano?!

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    ri prova così
    codice:
    $query = "SELECT tab4.* 
                  FROM  tab4 
                  WHERE tab4.statotab4 = 'libero'"; 
     $result = mysql_query($query); 
    
     while ($myrowtab4 = mysql_fetch_array($result)){ 
    
                $nome= $myrowtab4["campo"]; 
                $value = $nome; 
                $option_block .= "<OPTION value=\"$value\">$nome</OPTION>"; 
    }
    per il campo select - link mi sa che ti devi rivolgere a java x chè sebbene forse ricaricando la pagina con un onchange sul campo select riesci a valorizzare la variabile value (meglio un'altro nome xò, value è usata prima) il valore è modificato su tutti i link ma forse qcuno ha più idee

  8. #8
    Originariamente inviato da stabi
    ri prova così
    codice:
    $query = "SELECT tab4.* 
                  FROM  tab4 
                  WHERE tab4.statotab4 = 'libero'"; 
     $result = mysql_query($query); 
    
     while ($myrowtab4 = mysql_fetch_array($result)){ 
    
                $nome= $myrowtab4["campo"]; 
                $value = $nome; 
                $option_block .= "<OPTION value=\"$value\">$nome</OPTION>"; 
    }
    per il campo select - link mi sa che ti devi rivolgere a java x chè sebbene forse ricaricando la pagina con un onchange sul campo select riesci a valorizzare la variabile value (meglio un'altro nome xò, value è usata prima) il valore è modificato su tutti i link ma forse qcuno ha più idee
    Ciao stabi, la prima parte funziona alla perfezione...te l'avevo detto.
    Il problema è proprio il select - link....
    ora provo a ricaricare la pagina se riesco a farlo....di java non capisco niente....

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.