Page 1 sur 1

radiobutton

Posté : 29 mai 2007, 15:03
par dreeve
Bonjour a tous!!!

Je cherche à faire un truc, mais je ne sais même pas si c'est possible. Je m'explique:
dans un formulaire en mode répéter dons des données dynamique via ma data base je voudrais quand choisissent un bouton ces donné s'inscrive dans ma basse. Ok pas de problème jusque là, cependant lier a ce choix je voudrais inserer une données caché inscrite dans ma data basse...je résume je voudrais lier un 'hidden' avec un 'radiobutton' en sachant qu'elle sons déjà occuper par des données dynamique.
Si vous connaissez le non de ce truc merci de me la faire passer!!

Posté : 29 mai 2007, 15:22
par @rthur
Bonjour,

Je ne comprends pas ta question, peux-tu reformuler ton problème? (si possible sans faute d'orthographe)

Merci d'avance. ;)

Posté : 29 mai 2007, 15:34
par dreeve
Excuse moi pour les fautes, je ne peux pas être bon en tout.
Voila, dans un formulaire d'inscription je voudrais que deux données différente s'inscrivent dans ma basse de données a l'aide de bouton radio, je ne sais pas si on peux donnés plusieurs valeur a un seul radioboutton

Posté : 29 mai 2007, 16:21
par Klomac
Peut-être donner comme valeur à ton bouton radio : "valeur1|valeur2" et faire un explode('|',$_POST['bouton']) à la sortie ? Ce n'est qu'une suggestion.

Posté : 29 mai 2007, 17:13
par @rthur
Excuse moi pour les fautes, je ne peux pas être bon en tout.
Tout à fait, cela n'empêche pas de faire un effort de relecture avant de demander de l'aide ;)

Re: radiobutton

Posté : 29 mai 2007, 19:20
par Xenon_54
Tentative de reformulation.
Je cherche à faire un truc, mais je ne sais même pas si c'est possible. Je m'explique:

Dans un formulaire où des champs sont générés dans une boucle, donc des données dynamiques via ma base de données, je voudrais que lorsqu'un sélectionne un bouton, que ces donné s'inscrivent dans ma base de données. Pas de problème jusque là.

Cependant, lié à ce choix, je voudrais insérer une donnée cachée inscrite dans ma base de données.

Je résume:
Je voudrais lier un 'hidden' avec un 'radiobutton' en sachant qu'elles sont déjà occupées par des données dynamiques.
Si vous connaissez le non de ce truc merci de me la faire passer!!

Posté : 29 mai 2007, 19:22
par Xenon_54
Tentative de résolution:

Les données dynamiques que tu affiches, à partir de quelle table sont-elles récupérées?
Et dans quelles tables doivent-elles être insérées?
Et les données "cachées", à partir de où les récupères-tu et dans quelle table/champ désires-tu les insérer?

Est-il possible d'avoir une petite recette 1-2-3 des étapes du formulaire et des actions que tu désires faire?

Posté : 29 mai 2007, 21:09
par dreeve
Voila c'est très simple

Dans ma table 'shop_produit' les champs 'produit' et ' fabriquant', en choisissent produit fabricant suit les données choisis par le client.

Et s'insérer dans la table 'shop_commande' dans les champs nommés 'produit' et 'fabriquant'

Fabriquant étant 'caché'

Posté : 29 mai 2007, 21:41
par sadeq
Hé, je te file une p'tite idée, le lien entre un produit et son fabriquant peut être réalisé par un même index de tableau. Exemple: le produit[0] correspond au fabriquant[0] ... :wink:

Comme ça:
<?php 
//affichage des données postées par le formulaire pour le test
echo "<pre>"; 
print_r($_GET);
echo "</pre>";
//Affichage des couples produit/fabriquant transmis
if ($_GET) foreach ($_GET["produit"] as $index=>$produit){
	$fabriquant = $_GET["fabriquant"][$index];
	echo "<p>Produit choisi: $produit et le fabriquant est: $fabriquant</p>";
}
?>
<form name="form1">
<p>
<input type="radio" name="produit[0]" value="p1" onClick="form1.submit();">Produit 1
<input type="hidden" name="fabriquant[0]" value="f1">
</p>
<p>
<input type="radio" name="produit[1]" value="p2" onClick="form1.submit();">Produit 2
<input type="hidden" name="fabriquant[1]" value="f2">
</p>
</form>

Posté : 29 mai 2007, 22:50
par Invité
OK, merci pour ta réponse Sadeq.
Mais j'ai un autre problème, comment on fait quand on a 120 pages à encoder avec 2000 articles différents?
Ta pas plus court? :roll:

Posté : 29 mai 2007, 23:33
par sadeq
Peut être comme ça, on crée le contenu HTML affichant un bloc produit automatiquement à partir d'une source de données pouvant contenir plusieurs enregistrements.
<?php
//soit la base de données suivante (2000 articles peut être)
$produits = array(); //tableau qui recevera les produits
$resultat = mysql_query("select code, nom, fabriquant from article");
while ($resultat && ($ligne = mysql_fetch_assoc($resultat)) ){
  $produits[] = $ligne ; //alimente le tableau $produits
}
//Affichage des produits
if (count($produits)>0) {
?>
<form name="form1">
<?php 
foreach($produits as $index=>$produit){
  //obtenir les infos produit
  $code_produit = $produit["code"];
  $nom_produit = $produit["nom"];
  $fabriquant = $produit["fabriquant"];

  //affiche les infos d'un produit indexées pas $index
  echo <<<HTML
<p>
<input type="radio" name="produit[$index]" value="$code_produit" onClick="form1.submit();">$nom_produit 
<input type="hidden" name="fabriquant[$index]" value="$fabriquant">
</p>
HTML;

  }//fin foreach 
?>
</form>
<?php
}//fin if count
else echo "<p>Aucun produit</p>";
?>
Après, il faudra optimiser en lisant et affichant par lot raisonnable d'articles, page par page. Pour ça tu pourras peut être utiliser la clause SQL "LIMIT" pour réguler les lots de lecture.

Posté : 30 mai 2007, 08:58
par dreeve
OK d'accord.
J’ai tous compris je te remercie Sadeq pour le temps passer sur mon problème, ainsi que le forum phpfrance.
Je te tiendrais informé du résultat
Encore merci