IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Récupération des valeurs des chekboxs


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 139
    Points : 76
    Points
    76
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Fabouney
    Invité(e)
    Par défaut
    Salut,

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 139
    Points : 76
    Points
    76
    Par défaut
    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

  4. #4
    Fabouney
    Invité(e)
    Par défaut
    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.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 139
    Points : 76
    Points
    76
    Par défaut
    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

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 139
    Points : 76
    Points
    76
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 :

    Notice: Undefined variable: NOMSECTEUR in g:\easyphp1-8\www\recherche_etape3.php on line 32
    Pourriez-vous m'aider à le rendre correcte ?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 139
    Points : 76
    Points
    76
    Par défaut
    Voici mon for rectifier :
    j'avais oublier le [] dans NOMSECTEUR
    et j'avais mis <?php et ?> dans du php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/03/2011, 04h07
  2. Réponses: 14
    Dernier message: 20/11/2007, 19h28
  3. Réponses: 5
    Dernier message: 15/06/2007, 12h58
  4. [PHP-JS] Récupération des valeurs des champs
    Par Invité dans le forum Langage
    Réponses: 5
    Dernier message: 08/06/2007, 14h19
  5. [MySQL] problème avec la récupération des valeurs des variables POST
    Par Jasmine80 dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 11/05/2007, 17h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo