form invio multiplo con checkbox

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
40
salve a tutti,
ho cercato ininterrottamente sul web ma non ho trovato risposta al mi quesito.
Ho una tabella (TABELLA)1 dalla quale estraggo e stampo a video i campi CAMPO1 CAMPO2 CAMPO3. Inserisco accanto ad ogni result una checkbox; ora devo inserire in una altra tabella (TABELLA2) SOLO i result ai quali ho flaggato la rispettiva checkbox. Aiuto please perché davvero non so dove sbattere la testa

grazie a tutti
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
puoi visualizzare un form con all'interno una tabella con i campi valore e checkbox esempio
PHP:
 . "<td>"."<input type='text' name='OPma_valore[".$i."]' size='16'".formvalue($data[$i][4])." /></td>"
              . "<td>"."<input type='checkbox' name='OPma_ann[".$i."]' value='X' /></td>"
all'interno della tabella puoi "nascondere" valori che vengono usati per la gestione, esempio
PHP:
<td>"."<input type='hidden' name='OPca_nr[".$i."]' value='".$data[$i][7]."' /></td>"

1667048920267.png
 
Ultima modifica:

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
40
si ok, per visualizzare il risultato ci sono. E' l'invio dei SOLI valori a cui metto il flag che mi mette in crisi. Forse mi sono spiegato male. Mi rifaccio daccapo:

1) con una select e ciclo while stampo a video i result:

PHP:
$result = mysql_query("SELECT * FROM TABELLA")
or die(mysql_error());

$id = $row['id'];

echo '<td align="center" width="4%"><input type="checkbox" name="id" value="'.$id.'"></td>

su ogni riga, a sinistra del valore $id c'è una checkbox; da ora in poi devo fare in modo che, dopo aver selezionato le righe che voglio, vengano inviate (allo stesso file o ad un altro file) solo le variabili $id delle righe selezionate. Forse la mie spiegazione non è perfetta, ma chiedo venia perché in queste cose (che faccio a tempo perso e di cui non sono molto esperto) mi muovo a "sensazione"
 

thanatos

Utente Attivo
29 Gen 2021
38
0
6
Roma
Basta che ad ogni checkbox dai un name diverso e nel file a cui punta il form vai a controllare quali variabili sono arrivate dal form stesso, spero di essermi spiegato
 

thanatos

Utente Attivo
29 Gen 2021
38
0
6
Roma
Prova con il metodo della seconda risposta
 

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
40
Si ok ma c’è un problema: manca il tasto submit che invia contemporaneamente le variabili flaggate. Mi rendo conto che non è per nulla facile
 

thanatos

Utente Attivo
29 Gen 2021
38
0
6
Roma
Si ok ma c’è un problema: manca il tasto submit che invia contemporaneamente le variabili flaggate. Mi rendo conto che non è per nulla facile
Se gli ID li metti in un Array basta che con un foreach iteri la stampa delle checkbox. Poi fuori dall'iterazione inserisci l'echo del submit
 

MarcoGrazia

Utente Attivo
15 Dic 2009
852
20
28
62
Udine
www.stilisticamente.com
Io non ho ompresa la domanda? Cioè che vuole dire voglio che vengano inviate solo le variabili "flaggate", se non dai il check, non viene inviato nulla e l'elemento checkbox ha valore nullo, cioè come se non esistesse.

Attenzione però, se nomini i checkbox come un array ( name="OPma_valore[]" ) puoi avere un problema in ricezione e mi spiego:

Se prendi i valori da una tabella di database, e ad esempio hai un elenco
HTML:
<input type="checkbox" name="OPma_valore[]" value="1">
<input type="checkbox" name="OPma_valore[]" value="2">
<input type="checkbox" name="OPma_valore[]" value="3">
<input type="checkbox" name="OPma_valore[]" value="4">
<input type="checkbox" name="OPma_valore[]" value="5">
<input type="checkbox" name="OPma_valore[]" value="6">

e mettiamo che clicco sui valori 2, 4 e 6, poi mi viene restituito il seguente array dall'HTTP:
PHP:
OPma_valore[0] = 2
OPma_valore[1] = 4
OPma_valore[2] = 6
Cioè come se non avessi mai avuto sei checkbox ma solo 3, gli altri non sono inviati in quanto se non faccio il check, non esistono per l'HTTP e quindi non trasmessi.

Spero di esserti stato utile.
 
Ultima modifica:

giacomo9783

Utente Attivo
24 Ago 2016
99
0
6
40
Funziona tutto?
si si, alla perfezione! posto qui sotto il codice, semplificato:

con il seguente codice (contenuto del file form.php) stampo a video tutti i record della tabella TABELLA1 e predispongo all'invio al file modulo.php, vale a dire che accanto ad ogni valore di $id compare la casella checkbox da flaggare se si vuole inviare a modulo.php il valore $id corrispondente

PHP:
$result = mysql_query("SELECT * FROM TABELLA1")
or die(mysql_error());

while($row = mysql_fetch_array($result))
{
$id = $row['id'];
    
<form method="post" action="modulo.php'">
    
echo "<p>'.$id.'<input type="checkbox" name="valori[]" value="'.$id.'"></p>";
    
}

<input type="submit" value="INVIA"/></span></form>

il cuore del file modulo.php è il seguente:

PHP:
$valori = $_GET['valori'];

$valori = isset($_POST['valori']) ? $_POST['valori'] : array();
foreach($valori as $valore)
{

echo "$valore";

}

dopo aver, nel file form.php, selezionato i valori da inviare al file modulo.php, cliccando su "INVIA" i valori flaggati vengono inviati in un unico invio e stampati a video. Chiaramente poi è possibile gestire a piacere ogni valore ricevuto; io, all'interno del foreach, ho inserito una INSERT perchè voglio che i valori selezonati vengano inseriti in una tabella
 

thanatos

Utente Attivo
29 Gen 2021
38
0
6
Roma
si si, alla perfezione! posto qui sotto il codice, semplificato:

con il seguente codice (contenuto del file form.php) stampo a video tutti i record della tabella TABELLA1 e predispongo all'invio al file modulo.php, vale a dire che accanto ad ogni valore di $id compare la casella checkbox da flaggare se si vuole inviare a modulo.php il valore $id corrispondente

PHP:
$result = mysql_query("SELECT * FROM TABELLA1")
or die(mysql_error());

while($row = mysql_fetch_array($result))
{
$id = $row['id'];
   
<form method="post" action="modulo.php'">
   
echo "<p>'.$id.'<input type="checkbox" name="valori[]" value="'.$id.'"></p>";
   
}

<input type="submit" value="INVIA"/></span></form>

il cuore del file modulo.php è il seguente:

PHP:
$valori = $_GET['valori'];

$valori = isset($_POST['valori']) ? $_POST['valori'] : array();
foreach($valori as $valore)
{

echo "$valore";

}

dopo aver, nel file form.php, selezionato i valori da inviare al file modulo.php, cliccando su "INVIA" i valori flaggati vengono inviati in un unico invio e stampati a video. Chiaramente poi è possibile gestire a piacere ogni valore ricevuto; io, all'interno del foreach, ho inserito una INSERT perchè voglio che i valori selezonati vengano inseriti in una tabella
Perfetto, spero di esserti stato utile
 

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
se torni a guardare il mio suggerimento, vedrai che restituisco l'array dei valori e quella della checkbox,
in modo da mantenere sincronia tra le due
nel mio esempio checkbox restituisce il valore "X" oppure null, facile fare il check per "X"
poi vedi tu, io preferisco avere codice consistente

ma forse non ho capito il tuo script ( nel caso, scusami )
 
Discussioni simili
Autore Titolo Forum Risposte Data
G Form invio multiplo da database PHP 0
A invio form multiplo PHP 3
I Invio multiplo di form PHP 6
K [php]form invio dati PHP 0
nivaria.achinet Intercettare form solo dopo invio Javascript 1
M Unire 2 funzioni per l'invio di un form e con l'apertura di un div Javascript 0
M Form: come tornare ai campi già compilati dopo invio PHP 1
G Invio form con PHP PHP 3
S Invio email da form PHP 8
U PHP bottone per invio mail o ritorno al form PHP 15
A [PHP] Invio automatico dati da form PHP 6
B [PHP] Invio mail automatico dopo compilazione form - db PHP 25
Cosina [PHP] Preservare i campi del form solo se l'invio non ha successo PHP 5
R [javascript]Form invio preventivo Javascript 0
paloppa [PHP] Invio mail da form dubbio PHP 17
G [PHP] FORM INVIO VALORI A QUERY CON TRE CONDIZIONI PHP 2
F Form mail php errore invio PHP 5
S Problema invio form php/html PHP 3
Samuele Ronzani [PHP] Validazione e invio campi form. PHP 7
Matteo Lorenzon [PHP][WORDPRESS] Form in Wordpress, creazione PDF con dati del form ed invio tramite email WordPress 1
I form invio mail HTML e CSS 1
Francesco Polese Errore form invio mail+php PHP 22
P invio mail da form con dati php PHP 7
Marco_88 Passare un valore prima dell'invio del form Ajax 0
P PHP mailer invio form con 2 allegati. PHP 3
W Estrapolare un indirizzo mail di un form durante l'invio PHP 5
C Come posso integrare il bottone "paga adesso" di paypal e un form php per invio dati? PHP 1
I invio mail da form PHP 1
S Form invio mail html, con invio tramite file denominato invio.php PHP 8
W Modifica su invio dati da form PHP 4
N impedire invio dati form jQuery 3
Il Matta Problema Form e invio mail PHP 2
P Caricare nuova pagina dopo invio dati form Javascript 11
P invio form non corretto dopo controllo dati PHP 8
asevenx problema invio email tramite form PHP 3
M [Richiesta] - Invio tramite form di dati ad un db mysql PHP 2
B Problema form mail per invio doppio allegato PHP 1
N Invio Form con un Ciclo For Javascript 8
A Problema invio dati form contatti PHP 12
A Problema orario invio mail per form PHP 4
L Recupero dati form in tabella e invio con ajax. Problemino jQuery 1
asevenx invio dati da form a file xml XML 0
V problemi con l'invio di allegato in un form PHP 17
A Problema invio messaggio col form PHP 1
S php form invio mail PHP 3
L Form con invio mail PHP 1
L jquery UI dialog form. Conferma prima di invio jQuery 2
S [RISOLTO]invio form con select onchange Javascript 2
K Controllo FORM e invio dati al DB PHP 43
M lanciare due funzioni javascript dopo l'invio di un form Javascript 2

Discussioni simili