Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/07/2007, 15h48   #1
Membre à l'essai
 
Inscription : mai 2007
Messages : 137
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 137
Points : 22
Points : 22
Par défaut Récupération des valeurs des chekboxs

Bonjour à tous,

Je suis en ce moment même entrain de faire une recherche en faisant 3 pages. A chaque page, je demande des données et je m'en sert dans les pages suivantes pour éliminer les choix plus possibles en fonction des choix remplies aux pages précédentes.

Mais j'ai un petit probléme : je n'arrive pas à récupérer la valeur de mes checkox : déjà d'une page à une page mais il faudra aussi après d'une autre page en utilisant hidden je pense mais je sais pas comment m'y prendre. J'espere que vous pourrez m'aider.
J'ai deux types de chexbox :
une ou ce sont des données avec ENUM
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
		$requete1 = "SHOW COLUMNS FROM secteurgarage LIKE 'NOMSECTEURGARAGE'";
		$resultat1 = mysql_query($requete1) or die(mysql_error());
		$ligne = mysql_fetch_row($resultat1);
		$chaine = $ligne[1];
		$chaine = substr($chaine, 5, -1);
		$chaine = explode(",", $chaine);	
		for	($i=0; $i<count($chaine); $i++){
		    $ma_chaine = $chaine[$i];
		   	$ma_chaine = substr($ma_chaine, 1, -1);
		   	echo("<tr><td class='noir_orage_gras'><input type ='checkbox' name='SECTEURGARAGE' value='".$ma_chaine."' />".$ma_chaine."</td></tr>");
		}
		mysql_close ();
		?>
et une autre ou ce sont des données d'une table :
Code :
1
2
3
4
5
6
7
8
9
10
11
while($row = mysql_fetch_row($resultat1)){
			$l1 = count ($row);
			for($i=0;$i<$l1;$i++){
				$l2 = count ($row [$i]);
		    	echo("<tr><td class='noir_orage_gras'><input type ='checkbox' name='NUMOUTIL' value='".$row[$i+1]."' />".$row[$i]."</td></tr>");
		   		$i=$i+1;
		   		$j++; 
		   		$h++;
		   		if($j==2){$j=0;}
			}
		}
J'espere que vous pourrez m'aider, je bloque aussi sur les valeurs value, je ne sais pas qu'elle valeur leur mettre.
Seb981 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2007, 15h57   #2
Fabouney
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Salut,

il faut que tu définisses tes chebox comme des "Array" :

Code :
<input type="checkbox" name="SECTEURGARAGE[]" .... /> //je te laisse le soins de completer
grace a ca quand tu va envoyé ton formulaire, dans la page cible il te suffira de faireun foreach sur ce sont de controle de formulaire pour récupérer les valeurs cochées, du genre :

Code :
1
2
3
 
foreach($_REQUEST['SECTEURGARAGE'] as $field => $value)
   echo "$field => $value<br>";
Après j'ai peut etre mal compris car c'est pas très clair déjà, une recherche sur 3 pages hum hum moi pas saisir

Cordialement.
  Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2007, 08h01   #3
Membre à l'essai
 
Inscription : mai 2007
Messages : 137
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 137
Points : 22
Points : 22
Merci pour ton aide. Je vais essayer de m'en sortir avec le code que tu m'as donné.

Pour la recherche :
J'ai une premiere page ou je choisis le controle technique que je veux faire.
J'ai une seconde page avec les pays, puis une troisiéme page avec les régions.

Et à chaque page, je prend en compte le choix fait avant. Càd si je selectionne un controle technique donnée, j'aurais dans la seconde page seulement les pays qui peuvent faire ce controle, puis je selectionne le/les pays (ex : france) et j'aurais après toutes la/les régions de france qui peuvent faire ce controle ensuite je valide et j'ai la liste de tous les garages qui peuvent faire le controle technique donnée dans le/les pays donnée avec la/les regions choisises.

Voilà, j'espere que c'est plus clair maitenant.

N'hesitez pas à me poser des questions !

@+ Seb
Seb981 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2007, 08h52   #4
Fabouney
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Pourquoi fait tu pas ça dans une seul page (ça change pas beaucoup mais bon) enfin je pense qu'avec la méthode que je t'es donné, tu peux construire ta requête dynamiquement selon les choix faire sur chaque page.

Cordialement.
  Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2007, 09h27   #5
Membre à l'essai
 
Inscription : mai 2007
Messages : 137
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 137
Points : 22
Points : 22
J'aimerais bien faire cela en 1 seul page mais je ne suis pas très fort en programmation et je vais m'y perdre avec toutes les conditions boucles etc.

@+ Seb
Seb981 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2007, 12h42   #6
Membre à l'essai
 
Inscription : mai 2007
Messages : 137
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 137
Points : 22
Points : 22
J'ai réussi à prendre mes chekboxs de ma page précédente mais je n'arrive toujours pas à les reprendre en caché pour la derniére page.

Voici mon code pour les reprendre :

Code :
1
2
3
4
5
6
$nombre = $_POST['NOMSECTEUR'];
 		$total=count($nombre);
 		echo "Vous avez sélectionné <b>".$total."</b> critère(s)";
   		for ($i=0;$i<$total;$i++){
        	echo "<br />",$i+1,"e choix : ".$nombre[$i];
  			}
Voici mon code pour les renvoyer :
Code :
1
2
3
4
 
for ($i=0;$i<$total;$i++){
        	echo ("<input type='hidden' name='NOMSECTEUR' value='<?php echo(".$NOMSECTEUR.") ?>' />");
  			}
mais le code ci-dessus ne marche pas.

Il me met comme erreur :

Citation:
Notice: Undefined variable: NOMSECTEUR in g:\easyphp1-8\www\recherche_etape3.php on line 32
Pourriez-vous m'aider à le rendre correcte ?
Seb981 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2007, 13h06   #7
Membre à l'essai
 
Inscription : mai 2007
Messages : 137
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 137
Points : 22
Points : 22
Voici mon for rectifier :
j'avais oublier le [] dans NOMSECTEUR
et j'avais mis <?php et ?> dans du php

Code :
1
2
3
for ($i=0;$i<$total;$i++){
        	echo ("<input type='hidden' name='NOMSECTEUR[]' value='".$nombre[$i]."' />");
  			}
Après toutes mes fautes d'inattentions maintenant cela marche !

@+ Seb
Seb981 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h21.


 
 
 
 
Partenaires

Hébergement Web