CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Récupération de plusieur input text array [ ]

Diabolo09
Diabolo09
Niveau 10
13 août 2015 à 13:46:05

Bonjour,

Je rencontre un petit soucis, probablement quelque chose de simple, enfin je vous laisse en juger.

Voici mon code:


<?php
include("../config/common.php");
include("../fonctions.php");

$cli			=$_REQUEST['listeville'];
$echeance		=$_REQUEST['echeance'];
$articles		=$_REQUEST['articles'];
$qty			=$_REQUEST['qty'];
//On transforme la date
$echeance=dateEU_to_dateUSA($echeance);
//On crée le panier
$sql="INSERT INTO ".$tblpref."panier(echeance,id_cli) VALUES ('".$echeance."', '".$cli."')";
$req=mysql_query($sql);
//On récupère l'id du panier
$id_panier=mysql_insert_id(); 
//On insère les articles dans le panier
foreach ($articles as $article) {
	$sql="INSERT INTO ".$tblpref."cont_panier(id_panier,id_product) VALUES ('".$id_panier."', '".$article."')";
	$req=mysql_query($sql);
}
header('Location: ../../renouvellement.php?add=ok');
?>

En gros c'est un panier d'articles à renouvellement, plus précisément le traitement du form de création de ce panier qui me pose soucis. On peut lui définir un client, une échéance ainsi que les différents articles le composant.
Le hic, c'est que ces articles peuvent êtres multiples.

Lors de la création, le nombre d'articles n'est pas fixe, on peut ajouter des lignes d'articles via un bouton appelant un fonction js.

Le select "article", ainsi que l'input text "quantité" sont déclarés de la manières suivantes :


<select name="articles[]" id="articles1" class="styled-inline">
     <option value="">Veuillez d'abord effectuer une recherche...</option>
</select>

<input type="text" name="qty[]" id="qty_1" class="styled">

Comme on peut le voir dans le premier bout de code, je boucles avec un foreach sur $articles. Ce qui me permet de générer une ligne par article, ce que je souhaiterai c'est pouvoir aussi récupérer la quantité et l'insérer via la même boucle.
Mais je ne sais pas si c'est possible de cette manière là, et si cela l'est j'ai du mal a trouver la syntaxe adéquate.

Donc je fais appel à vous :) , si quelqu'un sait comment faire cela je lui en serai grandement reconnaissant ;)

Si vous avez besoin de plus d'infos, suffit de me le dire, je posterai ce qu'il vous manque.

D'avance merci !

Diabolo09
Diabolo09
Niveau 10
13 août 2015 à 16:20:43

Bon ben... Sujet Résolu !

Pour ceux que ça intéresse, voici la solution que j'ai appliquée.

J'ai déclaré mes input de cette manière :


<select name="articles[1][name]" id="articles1" class="styled-inline">
            <option value="">Veuillez d'abord effectuer une recherche...</option>
</select>

<input type="text" name="articles[1][qty]" id="qty_1" class="styled">

La fonction js incrémente donc le [1] à chaque nouvelle ligne d'article insérée.

Et je récupère de cette manière :


foreach ($articles as $article) {
	$sql="INSERT INTO ".$tblpref."cont_panier(id_panier,id_product, qty) VALUES ('".$id_panier."', '".$article['name']."', '".$article['qty']."')";
	$req=mysql_query($sql);
}

Voilà voilà

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment