• User Newbie

    checkbox, array e cicli

    ciao a tutti!,

    nella pagina a.php ho il seguente codice

    
    while ($row1 = mysql_fetch_array($res1,MYSQL_ASSOC)){
        
        $id = $row1['id'];
    
        echo "<td width='16%' > <div class='contenuto'> <center> Inserisci  
                    <input type='checkbox' name='carrello[]' value='$id'> ";
    }
    
    
    ```nella pagina **r.php** recupero i valori delle checkbox:
    
    la echo del foreach funziona correttamente stampandomi il valore della/e chechbox selezionata/e, attraverso $value vorrei estrapolare nel db il record corrispondente, ma l echo del while mi stampa 2 righe vuote.. :():
    
    

    foreach ($_POST['carrello'] as $key => $value){

    echo "Hai selezionato la checkbox con valore: $value<br />";
    
    $res = mysql_query("SELECT codparte,desestesa,preuni,urlimg 
                    FROM filepartif 
                    WHERE id='$value' 
                    ORDER BY 'codparte' ASC");
    
        while ($row = mysql_fetch_array($res,MYSQL_ASSOC)){
        
            $nome_art = $_POST['codparte'] ;
            
            echo "
            <tr><td> <div class='contenuto'> <center> $nome_art </center> </div> </td> </tr> ";
        
        }
    
    
    }
    

  • User Newbie

    alla fine il problema era che sbagliavo nel while!! ..praticamente un salame!!

    Guardando il codice oggi, mi si è presentato un altro problemino

    nella pagina a.php a fianco alla checkbox <input type='checkbox' name='carrello[]' value='$id' > ho il campo <input type="text" name="quantita"> dove bisogna inserire un valore.

    nella pagina di recupero dati, r.php, ho un ciclo foreach per l estrazione dei valori dell articolo selezionato e la creazione di una tabella.

    Il problema è che se inserisco un valore nel campo quantità (a.php), premo invio, nella pagina r.php non mi visualizza il valore inserito.
    Mi visualizza il valore inserito solo se nella pagina precedente inserisco per tutti gli articoli presenti una quantità.
    Questo perchè il valore del nome del campo (name="quantia") è uguale per tutti gli articoli, per ovviare a ciò devo per forza crearmi un nuovo array? Posso lavorare con l array già creato? E' l unica soluzione?

    Scusate il giro di parole, spero di essere stato chiaro.

    Grazie a tutti

    
    
    foreach ($_POST['carrello'] as $key => $value){
    
                      $res = mysql_query("SELECT codparte,desestesa,preuni,urlimg 
                                        FROM filepartif 
                                        WHERE id='$value' 
                                        ORDER BY 'codparte' ASC");
    
                              $nome_art = $row['codparte'] ;
                            $des_art = $row['desestesa'] ;
                            $prez_art = $row['preuni'] ;
                            $img_art = $row['urlimg'] ;
                            $quantita = $_POST['quantita'] ;
                            
                            $img = explode("/",$img_art,5);
                            $img_art1 = $img[4];
    
                            echo "
                                <tr><td> <div class='contenuto'> <center> $nome_art </center> </div> </td>
                                    <td> <div class='contenuto'> <center> $des_art </center> </div> </td>
                                    <td> <div class='contenuto'>
                                            <center> <img src='$img_art1' width='130px' height='100px' >
                                                  </center> </div> </td>
                                    <td> <div class='contenuto'> <center> $prez_art $euro </center> </div> </td>
                                    <td> <div class='contenuto'> <center> n$pallino $quantita </center> </div> </td>
                                    <td> <div class='contenuto'> <center> $euro </center> </div> </td> </tr>
                                <tr bgcolor='yellow'>
                                    <td colspan='6' style='font-size:1px;'> &nbsp; </td> </tr>
                                <tr> <td colspan='6' style='font-size:5px;'> &nbsp; </td> </tr> ";
    
                      }