radiobutton

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : radiobutton

par dreeve » 30 mai 2007, 08:58

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

par sadeq » 29 mai 2007, 23:33

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.

par Invité » 29 mai 2007, 22:50

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:

par sadeq » 29 mai 2007, 21:41

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>

par dreeve » 29 mai 2007, 21:09

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é'

par Xenon_54 » 29 mai 2007, 19:22

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?

Re: radiobutton

par Xenon_54 » 29 mai 2007, 19:20

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!!

par @rthur » 29 mai 2007, 17:13

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 ;)

par Klomac » 29 mai 2007, 16:21

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

par dreeve » 29 mai 2007, 15:34

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

par @rthur » 29 mai 2007, 15:22

Bonjour,

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

Merci d'avance. ;)

radiobutton

par dreeve » 29 mai 2007, 15:03

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!!