Récupérer un tableau en PHP avec $_POST [Résolu]

Signaler
Messages postés
6
Date d'inscription
vendredi 24 mars 2006
Statut
Membre
Dernière intervention
27 août 2012
-
Messages postés
392
Date d'inscription
mercredi 28 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2012
-
Bonjour à tous !

C'est mon premier message sur ce forum, donc j'espère que vous serez indulgent :)

Je suis en train de créer un site Web dans lequel j'aimerais créer un formulaire dynamique.

Le formulaire se compose
<form action="resultat.php" >
<select id="type1" name="type" type="select-one" >
<option value="0" />Livre 0
<option value="0" />Livre 1
<option value="0" />Livre 2
</select>


</form>

Une ligne est composée d'un SELECT, que je construit avec une requête SQL qui va chercher les valeurs d'OPTIONS dans ma base Mysql. (L'exemple ci dessus ne montre pas ma requête, puisque ce n'est pas le sujet de ma question .. )

Ensuite, un INPUT de type TEXT est ajouté pour connaître le nombre d'élements correspondants à la selection de l'utilisateur.

Je voudrais donc envoyer un tableau du type

$resultat array("nom"> nom de mon select, "valeur" => valeur de l'input correspondant)

sachant que ce tableau sera multidimenssionnel, puisque le but est que l'utilisateur peut ajouter une ligne "SELECT + INPUT".


Comment dois-je faire pour récupérer ce tableau dans une autre page PHP, avec $_POST ? J'espère que j'ai été suffisamment clair ... et que cela est possible de faire cela.

Merci d'avance.

Nicolas

6 réponses

Messages postés
392
Date d'inscription
mercredi 28 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2012
41
Euh...
Sinon
foreach($_POST['select'] AS $key => $val)
echo "SELECT =". $val." et INPUT = ".$POST['input'][$key];


______________________________________________________________________
Messages postés
392
Date d'inscription
mercredi 28 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2012
41
$_POST['select'][0]
$_POST['input'][0]
.....
$_POST['select'][N]
$_POST['input'][N]


// Avec foreach idem pour les deux
foreach($_POST['select'] AS $val)
echo $val;


______________________________________________________________________
Messages postés
6
Date d'inscription
vendredi 24 mars 2006
Statut
Membre
Dernière intervention
27 août 2012

Merci beaucoup pour cette réponse très rapide !

Cela m'a beaucoup aidé après de nombreuses recherches infructueuses!

A bientôt
Messages postés
6
Date d'inscription
vendredi 24 mars 2006
Statut
Membre
Dernière intervention
27 août 2012

Re-bonjour,

Je voudrais maintenant afficher une image en fonction de la selection sur le Select ..

J'ai un tableau php du type $tab[] = array('Nom' => 'Livre0', 'Image' => 'IMAGES/image0.jpg')

Je voudrais qu'en fonction de la selection, l'image soit mise à jour.

J'ai essayé d'ajouter un évenement sur le select, du type onchange=monimage.src='.$tab['Image'][.'this.value'.].' mais cela ne marche pas... Pouvez-vous m'expliquer pourquoi ?

Dois-je passer mon tableau php en javascript ?

Merci d'avance, Nicolas
Messages postés
6
Date d'inscription
vendredi 24 mars 2006
Statut
Membre
Dernière intervention
27 août 2012

De plus, peut-on utiliser la propriété name sur le optionHtmlElement et le récupérer ?

J'arrive en fait à écrire le chemin de l'image dans la propriété name de l'option, mais je n'arrive pas à récupérer cela.

Je voulais faire :

onchange=monimage.src=this['name'].value ... ou quelquechose comme ça, mais je ne dois pas avoir la bonne syntaxe, j'ai essayé un peu tout ...
Messages postés
392
Date d'inscription
mercredi 28 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2012
41
Entre balise <head></head>
<script language="javascript">
var img;

function loadImg(img)
{
return document.getElementById('load').src = img;	
}
</script>


HTML
<form name="form">
    <select>
        <option value="Livre_1" onclick="loadImg('<?php URL_IMAGE_LIVRE_1 ?>');"> Livre 1</option>
        <option value="Livre_2" onclick="loadImg('<?php URL_IMAGE_LIVRE_2 ?>');"> Livre 2</option>
    </select>
</form>



______________________________________________________________________