PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 25-05-2011 08:39:15

Anthotill
Membre
Inscription : 14-03-2010
Messages : 81

Foreach sur plusieurs POST

Bonjour,

A la suite d'un problème (résolu) dans ce Topic : http://forum.phpdebutant.org/viewtopic.php?id=13432 je tombe sur un autre problème.

Pour rappel, je génère un formulaire grâce à une entrée numérique dans ma base de donnée, le champ "numero[]" peut donc être affiché 1 fois comme 5 fois.


<?php
for($i=0;$i < $DETAILS['quantity'];$i++)
{
echo '<input type="text" name="numero[]" id="numero" />';
}
?>
 

Je le récupère ensuite avec un foreach comme ceci sans problème :


<?php
foreach ($_POST['numero'] as $numero_1)
{
// requette insertion BDD
}
?>
 

Désormais, je voudrais récupérer le même formulaire avec avec des informations en plus comme ceci :


<?php
for($i=0;$i < $DETAILS['quantity'];$i++)
{
echo '<input type="text" name="numero[]" id="numero" />';
echo '<input type="text" name="details[]" id="details" />';
echo '<input type="text" name="remarque[]" id="remarque" />';
}
?>
 

Et c'est le drame lol! La je ne sais plus comment faire pour récupérer les champs. J'ai imaginer imbriquer des foreach de cette façon :


<?php
foreach ($_POST['numero'] as $numero_1)
{
foreach ($_POST['details'] as $details_1)
{
// requette insertion BDD
}
}
?>
 

Je ne sais pas si c'est correct et je souhaiterais avoir votre avis avant de faire une bêtise ou une boucle infinie ...

Merci à tous!

Anthony

Hors ligne

#2 25-05-2011 09:22:17

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Foreach sur plusieurs POST

Saluton,
Comme je te l'ai déjà dit un id doit être unique dans une page HTML, or là, tu risques d'avoir plusieurs ids 'numero', 'details' et 'remarque'.
Ensuite, pour éclaircir le reste de ta problématique, il faudrait nous communiquer le résultat d'un var_dump($_POST['numero']); à partir du script php cible de l'attribut action de ton <form>


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 25-05-2011 10:24:17

Anthotill
Membre
Inscription : 14-03-2010
Messages : 81

Re : Foreach sur plusieurs POST

Maljuna Kris a écrit :

Saluton,
Comme je te l'ai déjà dit un id doit être unique dans une page HTML, or là, tu risques d'avoir plusieurs ids 'numero', 'details' et 'remarque'.
Ensuite, pour éclaircir le reste de ta problématique, il faudrait nous communiquer le résultat d'un var_dump($_POST['numero']); à partir du script php cible de l'attribut action de ton <form>

Bonjour,

Je ne l'ai pas mis ici mais pour les ID j'incrémente de +1 une variable ce qui donne en gros id="numero<?php echo $var++; ?>".

En ce qui concerne la réponse de var_dump:


array(4)
{
[0]=> string(6) "test1"
[1]=> string(6) "test2"
[2]=> string(6) "test3"
[3]=> string(0) ""
}
 

Hors ligne

#4 25-05-2011 12:34:10

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Foreach sur plusieurs POST

Bon,
En fait ce que tu souhaites c'est générer dans ton formulaire des structures contenant, chacune, trois infos : numero, details et remarque.
Dans ta boucle de création des input essaye comme cela

for($i=0;$i < $DETAILS['quantity'];$i++)
{
echo '<input type="text" name="lignes['.$i.'][numero] id="numero" />';
echo '<input type="text" name="lignes['.$i.'][details]" id="details" />';
echo '<input type="text" name="lignes['.$i.'][remarque]" id="remarque" />';
}

et vois ce que ça donne en nous postant le résultat de

 var_dump($_POST['lignes']);

Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#5 25-05-2011 12:47:32

Anthotill
Membre
Inscription : 14-03-2010
Messages : 81

Re : Foreach sur plusieurs POST

Re,

Voici le résultat :


array(2)
{
[0]=> array(3)
{
["numero"]=> string(0) ""
["details"]=> string(1) "det1"
["remarque"]=> string(1) "rem1"
}
[1]=> array(3)
{
["numero"]=> string(0) ""
["details"]=> string(1) "det2"
["remarque"]=> string(1) "rem2"
}
}
 

J'ai oublié de préciser que les champs détails et remarque sont des champs hidden qui contiennent des informations provenant d'une BDD mais je ne pense pas que cela gêne ?...

Merci pour ton aide,

Anthony

Dernière modification par Anthotill (25-05-2011 12:48:21)

Hors ligne

#6 25-05-2011 19:18:29

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Foreach sur plusieurs POST

Bon, bah, c'est bien ce que tu voulais obtenir, non ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#7 26-05-2011 13:49:38

Anthotill
Membre
Inscription : 14-03-2010
Messages : 81

Re : Foreach sur plusieurs POST

Maljuna Kris a écrit :

Bon, bah, c'est bien ce que tu voulais obtenir, non ?

Oui, le problème vient ensuite.

Comment faire pour traiter ceci ? avec un seul champ il faut faire:


foreach ($_POST['numero'] as $numero_1)
{
// requette insertion BDD
}
 

Mais avec plusieurs champ à récupérer ?


// Ne pas faire ça chez vous :-)
foreach ($_POST['numero'] as $numero_1)
{
foreach ($_POST['details'] as $details_1)
{
foreach ($_POST['remarque'] as $remarque_1)
{
// requette insertion BDD
}
}
}
 

Je sais que l'exemple ci-dessous n'est pas correct (du moins je crois j'ai "peur" d'essayer) mais alors comment on reprend tout les champs dans ces cas là ?

A noté qu'ensuite j'insère une ligne dans une BDD autant de fois qu'il y a de champs "numero"


foreach ($_POST['numero'] as $numero_1)
{
$numero_1 = $numeros;
// REQUETE INSERTION DANS LA BASE
$SQL_INSERT_NUM = "INSERT INTO Historique (id,Details,Remarque,Numero,Date)
VALUES ('','$details','$remarque','$numeros',NOW())"
;  
$REQ_INSERT_NUM = mysql_query($SQL_INSERT_NUM) or die( "Impossible d'ajouter des données à la table : " .mysql_error() );
}
 

Merci pour votre aide,

Anthony

Dernière modification par Anthotill (26-05-2011 13:56:47)

Hors ligne

#8 26-05-2011 15:11:33

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Foreach sur plusieurs POST

foreach($_POST['lignes'] as $ligne){
     echo 'numero : ',$ligne['numero'], '<br />details : ',$ligne['details'], '<br />'remarque : ',$ligne['remarque'], '<br />';
     }

Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#9 27-05-2011 15:09:14

Anthotill
Membre
Inscription : 14-03-2010
Messages : 81

Re : Foreach sur plusieurs POST

Maljuna Kris a écrit :
foreach($_POST['lignes'] as $ligne){
     echo 'numero : ',$ligne['numero'], '<br />details : ',$ligne['details'], '<br />'remarque : ',$ligne['remarque'], '<br />';
     }

Merci beaucoup ! Avec vous les choses sont très vites comprises c'est très bien, je n'y avait pas penser à cette façon d'écrire le code !

Mais désormais, nous revenons à mon premier post à savoir, comment vérifier si les champs sont remplis ?

J'utilisais un flag :


$flag = false;

foreach($_POST['numero'] as $champ)
{
if(empty($champ)) { $flag = true; }
}
if($flag === true)
{
echo '<div style="padding: 5px;" class="text_erreur"><img src="images/horsstock.png" width="16" height="16" alt="erreur"> Un ou plusieurs champs n\'ont pas été remplis...</div>';
}
 

Désormais, je veux faire ce test sur le champ numéro uniquement alors j'ai fait comme suit :


$flag = false;

foreach($_POST['lignes']['numero'] as $champ)
{
if(empty($champ)) { $flag = true; }
}
if($flag === true)
{
echo '<div style="padding: 5px;" class="text_erreur"><img src="images/horsstock.png" width="16" height="16" alt="erreur"> Un ou plusieurs champs n\'ont pas été remplis...</div>';
}
 

sans succès je dois dire ...

Pouvez vous m'aiguiller s'il vous plaît ? (les boucles me font peur, j'ai déjà planté un serveur avec une boucle infinie alors ...)

Merci à vous pour votre aide !

Anthony

Hors ligne

#10 27-05-2011 15:24:37

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Foreach sur plusieurs POST

if(empty($champ)) {
    $flag = true;
    break;
}

a++

Hors ligne

#11 27-05-2011 15:29:13

Anthotill
Membre
Inscription : 14-03-2010
Messages : 81

Re : Foreach sur plusieurs POST

Pierrot a écrit :

if(empty($champ)) {
    $flag = true;
    break;
}

a++

Bonjour,

Merci pour ton aide, je n'ai pas de problème avec le flag mais avec le foreach :-)

Hors ligne

#12 27-05-2011 17:17:17

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Foreach sur plusieurs POST

quel problème ???

de toute façon, ce que j'ai mis reste valable wink

a++

Hors ligne

#13 27-05-2011 19:25:30

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Foreach sur plusieurs POST

Bonsoir,

@anthotill : Sais-tu comment fonctionne une boucle Foreach?
Tu as deux données à traiter avec ton foreach, à savoir les index de lignes et les contenus de chaque ligne. Pour éviter les erreurs, 2 bons conseils avec foreach
1) Ne pas considérer que les indexs de ligne coïncident avec les indexs de ton tableau (meilleure façon pour se tromper sur toute la ligne, façon de parler wink )
2) Vérifier le contenu de ce que tu lis avant de lui appliquer un traitement.

En résumé, du codage comme il doit être pratiqué, car si tu appliques cette méthode, même si tu ne sais pas comment fonctionne un foreach réellement, tu devrais obtenir les bons résultats en procédant ainsi.


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#14 28-05-2011 09:06:57

Anthotill
Membre
Inscription : 14-03-2010
Messages : 81

Re : Foreach sur plusieurs POST

Bonjour,

En regardant de plus prêt :


foreach($_POST['lignes'] as $ligne)
{
if(empty($ligne['numero'])) { $flag = true; }
}
if($flag === true)
{
echo '<div style="padding: 5px;" class="text_erreur"><img src="images/horsstock.png" width="16" height="16" alt="erreur"> Un ou plusieurs champs n\'ont pas été remplis...</div>';
}
else
{
///
}
 

Je ne suis pas un codeur, je travail juste sur un petit module qui nous facilite la vie au boulot, qui permet de servir comme il se doit nos clients, nous sommes trois à l'utiliser...

Pour la solution donnée par Maljuna Kris, j'ai un petit soucis, il ne prend en compte que la moitié des champs j'ai l'impression :


foreach($_POST['lignes'] as $ligne)
{
$SQL_INSERT_NUM = "INSERT INTO
gstock_Historique (id,PartNumber,Designation,Numero,Email,Name,Date)
VALUES ('','$id','"
.$ligne['PartNumber']."','".$ligne['details']."','".$ligne['numero']."','$email','$Name',NOW())";  
$REQ_INSERT_NUM = mysql_query($SQL_INSERT_NUM) or die( "Impossible d'ajouter des données à la table : " .mysql_error() );
}
 

N'insert que deux enregistrements lorsqu'il y a 4 champs dans le formulaire.

Avez vous une idée ?

Anthony

Dernière modification par Anthotill (28-05-2011 09:14:54)

Hors ligne

#15 28-05-2011 10:39:02

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Foreach sur plusieurs POST

Dans ta clause VALUES, c'est quoi les '', devant $id ?
Si la colonne id est une primary key autoincrémenté tu peux l'ignorer.
D'autre part pour te faciliter la vie utilises plutôt une fonction comme sprintf

$SQL_INSERT_NUM = sprintf("INSERT INTO gstock_Historique
                            (PartNumber,Designation,Numero,Email,Name,Date)
                            VALUES ('%s','%s,'%s',%s','%s','%s')"

                            ,$ligne['PartNumber']
                            ,$ligne['details']
                            ,$ligne['numero']
                            ,$email
                            ,$Name
                            ,NOW()
                            );

Encore un conseil, évite de nommer tes colonnes avec des mots réservés comme DATE ou NAME


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#16 30-05-2011 07:50:39

Anthotill
Membre
Inscription : 14-03-2010
Messages : 81

Re : Foreach sur plusieurs POST

Bonjour,

Merci beaucoup. Je n'ai pas l'impression que la fonction soit opérante avec le NOW(), j'ai essayé plusieurs écritures mais pour le moment ça ne fonctionne pas, je verrais ça après.

En revanche, je n'ai toujours que la moitié des enregistrements dans la base, les deux dernières boucles pour être exact (semble t-il en tout cas). Comme si le foreach ne parcourais pas tous le tableau.

Avez vous une idée ?

Anthony

Hors ligne

#17 30-05-2011 08:10:50

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Foreach sur plusieurs POST

Maljuna Kris a écrit :
$SQL_INSERT_NUM = sprintf("INSERT INTO gstock_Historique
                            (PartNumber,Designation,Numero,Email,Name,Date)
                            VALUES ('%s','%s,'%s',%s','%s',NOW())"

                            ,$ligne['PartNumber']
                            ,$ligne['details']
                            ,$ligne['numero']
                            ,$email
                            ,$Name
                            );

Comme ça, le problème avec NOW() devrait disparaître.
Pour le parcours incomplet du tableau par foreach, je ne vois pas ce qui peut en être l'origine.
Il faudrait voir l'ensemble du code.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#18 31-05-2011 08:00:28

Anthotill
Membre
Inscription : 14-03-2010
Messages : 81

Re : Foreach sur plusieurs POST

Bonjour,

Je modifie le nom des champs de façon définitives et je posterais ensuite l'ensemble du code, merci beaucoup pour votre aide.

Anthony

Hors ligne

#19 31-05-2011 12:11:24

Anthotill
Membre
Inscription : 14-03-2010
Messages : 81

Re : Foreach sur plusieurs POST

Re,

Voici le code complet:


<?php
// Si il y a des commandes -> $NB_LST_CMD != '0'
if($NB_LST_CMD != '0')
{
?>
<form id="form1" name="form1" method="post" action="test.php">

<?php
// Boucle pour afficher le nom/prénom du client
while($DETAILS_NAME = mysql_fetch_assoc($REQ_DETAILS_NAME))
{
$NameClt_1 = $DETAILS_NAME['name'];
echo $NameClt_1;
}
?>

<br>

<?php
// Boucle pour afficher le contenu de la commande
while($DETAILS_CMD = mysql_fetch_assoc($REQ_DETAILS_CMD))
{
// Création d'une varible pour l'email du client
$EmailClt = $DETAILS_CMD['email'];
?>

<?php echo $DETAILS_CMD['order_id']; ?><br>
<?php echo $DETAILS_CMD['order_item_sku']; ?><br>
<?php echo $DETAILS_CMD['order_item_name']; ?><br>
<?php echo $DETAILS_CMD['product_quantity']; ?><br>

<?php
for($i=0;$i < $DETAILS_CMD['product_quantity'];$i++)
{
echo '<input type="text" name="lignes['.$i.'][numero_serie]" id="numero_serie" value="" /><br>';
echo '<input type="hidden" name="lignes['.$i.'][details]" id="details" value="'.filtre_spec_caracteres($DETAILS_CMD['order_item_name']).'" /><br>';
echo '<input type="hidden" name="lignes['.$i.'][PartNumber]" id="PartNumber" value="'.$DETAILS_CMD['order_item_sku'].'" /><br>';
} // fin for
} // Fin while($DETAILS_CMD = mysql_fetch_assoc($REQ_DETAILS_CMD))
?>

<br>

> Veuillez remplir le(s) champ(s) ci-dessus (obligatoire).

<br>

<input type="hidden" name="EnvForm" id="EnvForm" value="1" />
<input type="hidden" name="Name" id="Name" value="<?php echo $NameClt_1; ?>" />
<input type="hidden" name="email" id="email" value="<?php echo $EmailClt; ?>" />
<input type="submit" name="button" id="button" value="Ajouter à la synthèse" class="boutonf_commentaire" />

<?php
} // Fin du if - if($NB_LST_CMD != '0')
?>

</form>

<?php
// Si le formulaire est envoyé, on traite les champs
if(isset($_POST['EnvForm']))
{
// Création d'un flag pour vérifier si tous les champs sont remplis
$flag = false;
// Parcours du tableau
foreach($_POST['lignes'] as $ligne)
{
// Si des champs "numero_serie" ne sont pas remplis $flag = true
if(empty($ligne['numero_serie'])) { $flag = true; }
}
// Si flag vaut TRUE on affiche une erreur
if($flag === true)
{
echo '<div style="padding: 5px;" class="text_erreur"><img src="images/horsstock.png" width="16" height="16" alt="erreur"> Un ou plusieurs champs n\'ont pas été remplis...</div>';
}
// Sinon, on continu le traitement
else
{
// Vérification si les champs on bien été remplis
$id = $_GET['id'];
$emailclt = $_POST['email'];
$Nameclt = $_POST['Name'];

// Connexion base de donnée
include('includes/connexion_base_site.php');    

// On parcours le tableau notamment en cas de plusieurs produits (product_quantity > 1)
foreach($_POST['lignes'] as $ligne)
{
// REQUETE INSERTION DANS LA BASE SN / ASSUR
$SQL_INSERT_NUM_SERIE =
sprintf("INSERT INTO
gstock_HistoriqueCommande
(NumeroCommande,PartNumber,Designation,NumeroSerie,Email,NameClt,DateAjt)
VALUES ('%s','%s','%s','%s','%s','%s',NOW())"

,$id
,$ligne['PartNumber']
,$ligne['details']
,$ligne['numero_serie']
,$emailclt
,$Nameclt
);  
$REQ_INSERT_NUM_SERIE = mysql_query($SQL_INSERT_NUM_SERIE) or die( "Impossible d'ajouter des données à la table : " .mysql_error());
}
// Fermeture de la base de donnée
mysql_close($db);

// SI correctement éxécuté on redirige
echo '<script language="javascript" type="text/javascript">window.location.replace("test.php?cmd=',$id,'");</script>';

} // Fin else =====> if($flag === true)

} // Fin if   =====> if(isset($_POST['EnvForm']))

?>
 

Hors ligne

#20 02-06-2011 08:32:44

Anthotill
Membre
Inscription : 14-03-2010
Messages : 81

Re : Foreach sur plusieurs POST

Bonjour,

J'ai encore essayé pas mal de modification mais je n'ai toujours que la moitié de la boucle qui est lu ...

Je commence a désespérer !

Il y a surement un problème avec le foreach de la ligne 88 qu'en pensez vous ?

Hors ligne

#21 02-06-2011 09:04:43

Anthotill
Membre
Inscription : 14-03-2010
Messages : 81

Re : Foreach sur plusieurs POST

Bon je crois que j'ai une piste, si je modifie ceci :


echo '<input type="text" name="lignes['.$i.'][numero_serie]" id="numero_serie" value="" /><br>';
echo '<input type="hidden" name="lignes['.$i.'][details]" id="details" value="'.filtre_spec_caracteres($DETAILS_CMD['order_item_name']).'" /><br>';
echo '<input type="hidden" name="lignes['.$i.'][PartNumber]" id="PartNumber" value="'.$DETAILS_CMD['order_item_sku'].'" /><br>';
 

Pour ceci :


echo '<input type="text" name="lignes[numero_serie]" id="numero_serie" value="" /><br>';
echo '<input type="hidden" name="lignes[details]" id="details" value="'.filtre_spec_caracteres($DETAILS_CMD['order_item_name']).'" /><br>';
echo '<input type="hidden" name="lignes[PartNumber]" id="PartNumber" value="'.$DETAILS_CMD['order_item_sku'].'" /><br>';
 

J'ai bien tous les enregistrement mais bien sur, les informations enregistrées dans mysql ne sont pas les bonnes car dans le "DOM l'id n'est pas UNIQUE" (ref Maljuna Kris :-)).

Donc le problème viens de $i qui ne doit probablement pas fournir assez d'id différent dans la page html.

Comment contourner cela, tel est la question ?

Hors ligne

#22 04-06-2011 11:00:32

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : Foreach sur plusieurs POST

salut,

pour l'id c'est que tu met id="numero_serie" à tout les input, idem pour les deux lignes du dessous wink

ensuite pour quoi lignes[numero_serie], lignes[details] et lignes[PartNumber] tu pourrais simplement utiliser 3 tableaux c'est plus simple smile

ensuite si tu affiche tous cela dans une boucle tu n'a pas besoin de préciser l'index (sauf si celui ci à vraiment une importance, mais les 3 champs auront le même index.
par exemple


<?php
    echo '<input type="text" name="numero_serie[]" id="numero_serie_'.$i.'" value="" /><br>';
    echo '<input type="hidden" name="details[]" id="details_'.$i.'" value="'.filtre_spec_caracteres($DETAILS_CMD['order_item_name']).'" /><br>';
    echo '<input type="hidden" name="PartNumber[]" id="PartNumber_'.$i.'" value="'.$DETAILS_CMD['order_item_sku'].'" /><br>';
?>
 

avec ça tu aura trois tableaux avec les mêmes index (si bien sur tu affiche le tout dans une boucle par groupe de trois).
l'ajout du $i dans l'id permet de tous les différencier et ainsi ne plus avoir de soucis avec JS si tu souhaite les valider avec (ou faire quoique soit wink)


@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

#23 06-06-2011 08:21:27

Anthotill
Membre
Inscription : 14-03-2010
Messages : 81

Re : Foreach sur plusieurs POST

Bonjour moogli et merci pour ton aide,

N'y aurait-il pas un moyen de fournir des "index" différents aux trois champs plutôt que de changer le reste ?

En effet, je ne passe pas un temps "officiel" sur ce problème car je suis au boulot et je voudrais éviter de tout changer si cela est toujours possible.

Dans la négative, si je fait 3 tableaux, dois-je faire trois boucles pour afficher les inputs genre :


for($i=0;$i < $DETAILS_CMD['product_quantity'];$i++)
{
echo '<input type="text" name="lignes['.$i.'][numero_serie]" id="numero_serie" value="" /><br>';
} // fin for
for($i_1=0;$i_1 < $DETAILS_CMD['product_quantity'];$i_1++)
{
echo '<input type="hidden" name="lignes['.$i_1.'][details]" id="details" value="'.filtre_spec_caracteres($DETAILS_CMD['order_item_name']).'" /><br>';
} // fin for
for($i_2=0;$i_2 < $DETAILS_CMD['product_quantity'];$i_2++)
{
echo '<input type="hidden" name="lignes['.$i_2.'][PartNumber]" id="PartNumber" value="'.$DETAILS_CMD['order_item_sku'].'" /><br>';
} // fin for
 

Si oui, comment récupérer ces trois boucles, est-il possible de les récupérer en une seule et ainsi ne faire qu'une seule requête d'insertion dans la base de donnée ?

Hors ligne

Pied de page des forums