[php] checkbox, array e cicli

cinto

Nuovo Utente
4
0
ciao a tutti!,

il problema è nella pagina r.php non avviene il controllo della clausola!? Se invece faccio una echo di $value il valore stampato corrisponde con l articolo che seleziono nella pagina a.php

nella pagina a.php ho il seguente codice (dove selziono gli articoli), creo l array e mi passo l'id.

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 chechbox selezionata/e, attraverso $value vorrei estrapolare nel db il record corrispondente, ma l echo del while mi stampa 2 righe vuote.. cazzarola....

Codice:
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> ";
        
        }
    

    }

qualcuno è in grado di farmi chiarezza?
 

airex

Utente Èlite
2,394
14
CPU
Intel Core2Duo E6750
Scheda Madre
Gigabyte GA-G33M-DS2R
HDD
1x80GB Sata2 + 1x320GB Sata2
RAM
2 x 2048MB DDR2 800MHz
GPU
NVidia 8800GT 1GB
Audio
Intel HDA
Monitor
LCD Samsung 19"
PSU
LC Power Green Power V2.0 - 550 Watt
OS
Linux Slackware64
perchè usi $_POST["codparte"] per prelevare i dati dal record del db? con $_POST prendi i valori che ti sono stati inviati da un form!

prova a modificare il codice sostituendo $_POST["codparte"] con $row["desestesa"]

nel caso avessi capito male io la questione fammi sapere
 

cinto

Nuovo Utente
4
0
airex ha detto:
perchè usi $_POST["codparte"] per prelevare i dati dal record del db? con $_POST prendi i valori che ti sono stati inviati da un form!

prova a modificare il codice sostituendo $_POST["codparte"] con $row["desestesa"]

nel caso avessi capito male io la questione fammi sapere

si era proprio quella!? Quando me ne sono accordo ho continuato ad andare avanti!!!

Grazie cmnq!!
ci
 

cinto

Nuovo Utente
4
0
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


Codice:
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> ";

                  }
 

airex

Utente Èlite
2,394
14
CPU
Intel Core2Duo E6750
Scheda Madre
Gigabyte GA-G33M-DS2R
HDD
1x80GB Sata2 + 1x320GB Sata2
RAM
2 x 2048MB DDR2 800MHz
GPU
NVidia 8800GT 1GB
Audio
Intel HDA
Monitor
LCD Samsung 19"
PSU
LC Power Green Power V2.0 - 550 Watt
OS
Linux Slackware64
riesci a rendere meno intrigata la spiegazione e la domanda? se ci riesci mi dai una grossa mano e di conseguenza è piu' facile che ti dia una risposta sensata
 

cinto

Nuovo Utente
4
0
airex ha detto:
riesci a rendere meno intrigata la spiegazione e la domanda? se ci riesci mi dai una grossa mano e di conseguenza è piu' facile che ti dia una risposta sensata
ciao, in effetti era un po' incasinata, ho cercato di sistemarla

a.php

<form action="r.php" method="post">
<input type='checkbox' name='carrello[]' value='$id' > ho il campo <input type="text" name="quantita">
<input type="submit" name="cassa">
</form>

r.php

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

estraggo i valori inserendoli in una tabella

}


Il problema è che se inserisco la quantita per un solo articolo il valore non viene visualizzato in r.php
(Questo perchè il nome del campo (name="quantita") è uguale per tutti gli articoli)

Il valore viene visualizzato solo se nella pagina a.php inserisco la quantità per tutti gli articoli presenti.

Per ovviare a ciò devo per forza crearmi un array anche per quantita? Posso lavorare con l array già creato? Ci sono altre soluzioni?

Grazie
 

airex

Utente Èlite
2,394
14
CPU
Intel Core2Duo E6750
Scheda Madre
Gigabyte GA-G33M-DS2R
HDD
1x80GB Sata2 + 1x320GB Sata2
RAM
2 x 2048MB DDR2 800MHz
GPU
NVidia 8800GT 1GB
Audio
Intel HDA
Monitor
LCD Samsung 19"
PSU
LC Power Green Power V2.0 - 550 Watt
OS
Linux Slackware64
a occhio farei una piccola correzione

Codice:
<input type='checkbox' name='carrello[]' value='$id' >
sarebbe il caso che diventi
Codice:
<input type='checkbox' name='carrello[]' value='<? echo $id; ?>' >

perchè non trasformare anche "quantità" in array? magari ti tornerebbe utile (secondo me sarebbe la strada più comoda da seguire)
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!