Aiuto form correlati

spizzico7

Nuovo Utente
14 Dic 2008
8
0
0
Buonasera a tutti sono nuovo del forum ma vi seguo da sempre....Oggi non ho potuto fare a meno di porvi una domanda che mi sta facendo impazzire...
Allora il mio problema è il seguente:

ho delle checkbox che vengone realizzate da un ciclo che prende i valori da un db ora ad ognuno degli oggetti selezionati devo associare un valore (1-2-3-4 ecc.)

checkbox--->[]nome1 [ text1 ]
checkbox--->[]nome2 [ text2 ]
checkbox--->[]nome3 [ text3 ]

io ho fatto una pseudo-codifica della risoluzione ma non so proprio come passare al pratico....

Risposta php{
[ricezione dati]
ciclo{
if (una della check è selezionata)
{
prendi quantità
prendi nome

insert into tabella nome1, quantità1

}
}

praticamente ogni giro di ciclo mi deve fare una insert con valori diversi....aiutatemi!!!!:dipser:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
forse il mio sistema è complicato e qualcuno più bravo puo darti una soluzione migliore
io faccio cosi
nella trasmissione quando creo dinamicamente le check gli do un nome ed un valore(valore da db) e nel ciclo mi creo un contatore

$conta=0
ciclo{
/*.....estrazione dati da db.....*/

$nomecheck[$conta]=$conta

<input type="checkbox" name="<?php echo $nomechek[$conta]?>" value="<?php echo $valore[$conta] ?>">

$conta++
}
per sapere quante sono le check trasmetto con hidden anche il valore conta

in ricezione

faccio ciclo for basandomi su $conta

for($k=0;$k<$conta;4k++){

$nomecheck[$conta]=$k

$valore_trasmesso=$_POST[$nomecheck[$k]];

if $valore_trasmesso != ""
// insert in tabella $valore_trasmesso ...
}

}

spero di essere stato chiaro, eventualmente sono qui


:hammer:
 

spizzico7

Nuovo Utente
14 Dic 2008
8
0
0
niente ho fatto prove su prove ma niente posto il codice....

connessione al db...

$ora =$_POST["ora"];
$nome_var = $_POST['nome_var'];
$quanto = $_POST['quanto'];
$iidut = $_SESSION['idut'];
$conta= $_POST["conta"];

$strSQL= "INSERT INTO ordini (idut, ora) VALUES ('$iidut', '$ora')";
if (! mysql_query($strSQL))
{
echo ("errore insert 1");
exit();
}

echo ($conta);

for($k=0;$k<$conta;$k++){

$nome_var[$conta]=$k;

$quanto[$conta]=$k;

$nome_var=$_POST[$nome_var[$k]];

$quanto=$_POST[$quanto[$k]];

if ($nome_var[$k] != "")
{

$strSQL = "INSERT INTO orddett (idord, idprod, qta) ";

$strSQL .= "VALUES ('50', '$nome_var', '$quanto') ";

if (! mysql_query($strSQL))

{
echo ("errore insert 2");
exit();
}

}:incazz:


ORA PRATICAMENTE MI RIEMPIE IN CICLO LA TABELLA ORDINI INVECE CHE ORDDETT MA L'INSERT NON E' IN CICLO!!!!!
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
scusa dimenticavo, ma guardando meglio dove chiudi il ciclo for? se conti le parentesi graffe ti accorgi che sono 5 ed il numero delle parentesi graffe (aperte+chiuse) deve essere un numero pari,
probabilmente devi chiuderlo dopo :incazz2:

for($k=0;$k<$conta;$k++){
$nome_var[$conta]=$k;
$quanto[$conta]=$k;
$nome_var=$_POST[$nome_var[$k]];
$quanto=$_POST[$quanto[$k]];
if ($nome_var[$k] != ""){
$strSQL = "INSERT INTO orddett (idord, idprod, qta) ";
$strSQL .= "VALUES ('50', '$nome_var[$k]', '$quanto[$k]') ";
if (! mysql_query($strSQL)){
echo ("errore insert 2");
exit();
}//chiusura if !mysql
}//chiusura if $nome_var
}//chiusura for
 

spizzico7

Nuovo Utente
14 Dic 2008
8
0
0
allora ho messo a posto le parentesi che erano la causa dell'inserimento nella tabella sbagliata....ora però continua a non inserire nel db i valori di "nome_var" ne di "quanto", che è un valore preso da un campo testo e reso vettore cosi: <input type........value=quanto[]>, nonostante il fatto che ho modificato piu cose come,

$strSQL .= "VALUES ('50', '$nome_var[$k]', '$quanto[$k]') ";

come posso fare?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ti conviene inserire o
var_dump($strSQL);
oppure
echo $strSQL;
subito prima di
ed eventualmente commentare provvisoriamente tutto l'if
/*
if (! mysql_query($strSQL)){
......
*/

in questa maniera vedi cosa ti ritrovi dentro la querystringa, guardala bene perche delle volte un minimo errore impedisce l'insert.
tra l'altro, anche se penso di si, nella tabella orddett ha messo un id primarykey e autoincrement? cosa è quel idord che inserisci sempre = a 50?
eventualmente mi posti la tabella?
 

spizzico7

Nuovo Utente
14 Dic 2008
8
0
0
ciao
ti conviene inserire o
var_dump($strSQL);
oppure
echo $strSQL;
subito prima di
ed eventualmente commentare provvisoriamente tutto l'if
/*
if (! mysql_query($strSQL)){
......
*/

in questa maniera vedi cosa ti ritrovi dentro la querystringa, guardala bene perche delle volte un minimo errore impedisce l'insert.
tra l'altro, anche se penso di si, nella tabella orddett ha messo un id primarykey e autoincrement? cosa è quel idord che inserisci sempre = a 50?
eventualmente mi posti la tabella?


ok ora provo a fare come dici....cmq la tabella è fatta cosi:

idorddett autoincrement- idord foreign-key - idprod foreign-key -qta
 
Ultima modifica:

spizzico7

Nuovo Utente
14 Dic 2008
8
0
0
for($k=0;$k<$conta;$k++){

$nome_var=$_POST[$nome_var[$k]];

$quanto=$_POST[$quanto[$k]];

echo($quanto[$k]);
echo($nome_var[$k]);

if (strcmp($nome_var[$k],"")== 1)
{

$strSQL = "INSERT INTO orddett (idord, idprod, qta) ";

$strSQL .= "VALUES ('50', '$nome_var', '$quanto') ";


if (! mysql_query($strSQL))

{
echo ("errore insert 2");
exit();
}
}

ho provato cosi ma niente mi da errore....
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
scusa forse ho trovato l'errore

$nome_var[$conta]=$k;
$quanto[$conta]=$k;
$nome_var=$_POST[$nome_var[$k]];
$quanto=$_POST[$quanto[$k]];
if ($nome_var[$k] != ""){
$strSQL = "INSERT INTO orddett (idord, idprod, qta) ";
$strSQL .= "VALUES ('50', '$nome_var[$k]', '$quanto[$k]') ";

cioè ti ho fatte assegnare un valore di un array al nome dell'array

ci do un'occhiata per bene e poi ti riscrivo
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
rieccomi, devi scusarmi ma ho la testa un po' tra le nuvole... 5 min a computer e 10 min a svuotare l'acqua che mi sta invadendo (e penso di non essere tra quelli che stanno peggio)
comunque, prova in questo modo

PHP:
for($k=0;$k<$conta;$k++){
      $nome=$_POST[$nome_var[$k]];
      $qqnt=$_POST[$quanto[$k]];

      echo($qqnt);
      echo($nome);

     if ($nome!= "")
    {
          $strSQL = "INSERT INTO orddett (idord, idprod, qta) ";
          $strSQL .= "VALUES ('50', '$nome', '$qqnt') ";
         if (! mysql_query($strSQL))
        {
               echo ("errore insert 2");
               exit();
         }
     }
}

ho visto la tabella è ok
 

spizzico7

Nuovo Utente
14 Dic 2008
8
0
0
allora all'inizio dava errore sugli echo...levandoli non da errore ma non valorizza ti riposto il codice....
$ora =$_POST["ora"];
$iidut = $_SESSION['idut'];
$conta= $_POST["conta"];
$strSQL= "INSERT INTO ordini (idut, ora) VALUES ('$iidut', '$ora')";
if (! mysql_query($strSQL))
{
echo ("errore insert 1");
exit();
}

for($k=0;$k<$conta;$k++){

$nome=$_POST[$nome_var[$k]];
$qqnt=$_POST[$quanto[$k]];

if ($nome!= "") <<----------- qui ho provato anche una strcmp ma niente...non valorizza...
{
$strSQL = "INSERT INTO orddett (idord, idprod, qta) ";
$strSQL .= "VALUES ('50', '$nome', '$qqnt') ";
if (! mysql_query($strSQL))
{
echo ("errore insert 2");
exit();
}
}
}
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
riprendo tutto in mano domattina riguardando di nuovo quello che avevo fatto io e che funzia per capire dove mi sto confondendo
abbi pazienza
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ho provato a simulare il seguente codice funziona (provato in locale), devi solo adattarlo alle tue esisgenze

PHP:
<?php
if(isset($_POST['submit'])){//ho inviato i dati
$quanti_check=$_POST['conta']; //numero di check generati dinamicamente

for($k=0; $k<=$quanti_check; $k++){
$valore_check=$_POST[$k]; //leggo il valore del kappesimo check
if($valore_check != ""){//se checcato il valore non è vuoto
//parte di insert
echo " ho checcato $k con valore $valore_check <br>"; //stampo i valori checcati
}
}//fine for
}//fine if submit

?>
<form action="provaCHECK.php" method="post">
<?php
// simulo un ciclo finta estrazione dati db
$conta= 0;
while ($conta <= 5){//ciclo estrazione db 
$valore_datrasm[$conta]=$conta+200;//più 200 per avere un valore diverso da conta
$nome_chek[$conta]=$conta; // varia da 0 a 5
//creo la check con il nome che va da 0 a conta
?>
<input type="checkbox" name="<?php echo $nome_chek[$conta]?>" value="<?php echo $valore_datrasm[$conta] ?>">
<?php
$conta++; //incremento conta
} //fine ciclo estrazione e poi campo nascosto per valore di conta e pulsante di submit
?>

<input name="conta" type="hidden" value="<?php echo $conta; ?>">
<input name="submit" type="submit" value="Invia">
</form>
 

spizzico7

Nuovo Utente
14 Dic 2008
8
0
0
ciao scusa se non ho piu risposto ma ho avuto dei problemi con il server e non potevo testare niente....ora ho letto il codice e sinceramente non mi sembra che si adatti a quello che serve a me....ora sperando che tu possa aiutarmi allego i due file nel secondo c'è il form e nel primo la presa dei valori del form....
 

Allegati

  • insfinal.txt
    969 bytes · Visite: 241
  • insord3.txt
    1,3 KB · Visite: 217

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
scusa se non mi sono fatto più sentire, ma ho avuto grossi problemi di connesione e computer (ferie forzate):dipser:
fammi sapere se per caso hai comunque risolto, altrimenti riprendo in mano tutto il discorso
 
Discussioni simili
Autore Titolo Forum Risposte Data
S [PHP] Aiuto creazione form php per completamento modello word PHP 1
M Aiuto Form --> Word Programmazione 2
L aiuto: form che dovrebbe restituire immagine PHP 2
S Aiuto!!!parte del form sparisce PHP 10
I Form/aree di testo con input da lista di nomi!Chiedo aiuto!! HTML e CSS 3
A Aiuto form inserimento dati PHP 3
M Aiuto realizzazione form dinamico. jQuery 1
F aiuto per funzionamento sito responsive e form contatti HTML e CSS 29
A Aiuto per Select form dinamica PHP 0
K aiuto su gestione casella select del form + php + mysql PHP 0
L Aiuto form php! PHP 1
A Turbo Contact Form - AIUTO PHP 2
S aiuto form aggiornamento utenti PHP 0
B aiuto per Form di eliminazione record PHP 21
T Aiuto form "search" jQuery 1
L Aiuto per ultimazione form invio email PHP 3
T.W. Aiuto con mini FORM Javascript 9
ivarello Aiuto invio form nascosto in PHP PHP 2
Z Aiuto! problemi di inserimento dati da form PHP 9
C Aiuto per form PHP 5
anton Aiuto Gestione di un form iscrizione a numero chiuso PHP 4
A Aiuto per form email con allegato PHP 4
C Urgente Ricerca Aiuto (a Pagamento) Form Altri Annunci 0
K Aiuto! inviare dati da form a database mysql MySQL 2
V aiuto!!!!form mail in sito fatto in flash!!!!! Flash 1
E aiuto form allegato.con funzione mail PHP 8
E aiuto form mail php PHP 8
A Form per alimentare un DB con PHP: aiuto!! PHP 17
L Form Mail- aiuto Supporto Mr.Webmaster 0
K aiuto per mail inviata da form.. PHP 3
G aiuto form php PHP 1
M Aiuto con la Form Mail PHP 34
F form che non invia email Aiuto!!! HTML e CSS 1
L Aiuto con form invio email PHP 2
G Aiuto per creare un form di invio file Classic ASP 3
C aiuto per validare form Javascript 3
S Aiuto form email Javascript 0
M form e banner...aiuto!! Javascript 0
P Aiuto form registrazione utenti PHP 5
P Richiesta aiuto x Form su aruba Hosting 1
Z [Aiuto] Form con 2 campi collegati Javascript 0
V AIUTO: creare file php x form PHP 2
U Aiuto con form mail Classic ASP 3
L Aiuto form HTML e CSS 8
P nome del form una banalità??? aiuto!!! Javascript 1
F Aiuto con Form PHP 1
E Aiuto per query PHP 8
R Aiuto ripristino sito web Presentati al Forum 0
L Aiuto con DataGridView Visual Basic 1
F Aiuto! cambio immagine di sfondo al cambio pagina HTML e CSS 2

Discussioni simili