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 :

lancer une requête à partir d'une checkbox


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 30
    Par défaut lancer une requête à partir d'une checkbox
    Je cherche à afficher des résultats en fonction de checkbox cochées

    Je génère, d'une part, dans un fichier PHP, une liste de checkbox basée sur les valeurs de champs d'une table.
    La base s'appelle "test", la table "results", et je bâtis la liste de checkbox à partir du champs "vehicle_id".
    Il y a actuellement 5 champs dans ma table:
    id
    type_of_vehicle
    vehicle_id
    type_of_statistics
    path.

    Par exemple
    1 Aircraft DA40 stats_1 path_to_find_stats_1

    Je désire quand on coche sur un "vehicle_id" renvoyer à une page (ou mieux faire figurer sur la même page) les type_of_statistics et le path.
    Mon problème, c'est qu'actuellement, je ne fais apparaître tous les résultats; or j'aimerais ne sélectionner que les résultats cochés, et je n'ai pas de message d'erreurs par ailleurs



    Ci joint mon code PHP


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
          <!-- Encodage en utf-8 -->
          <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
          <!-- Encodage en iso-8859-1 -->
          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Checkbox</title>
    </head>
     
    <body>
     
    	<legend>Programmes</legend>
     
    		<p id="vehicle" >	
    				<?php		
     
    					echo '<form name="checkbox" method="post" action="results_display.php">';
     
    					$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    					$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
     
    					# permet de n'afficher que les valeurs distinctes cad éviter de répète le nom du véhicule autant de fois qu'il y a de stats
    					$reponse = $bdd->query('SELECT DISTINCT vehicle_id FROM results');
     
    					if ($reponse){	
    						while ($donnees = $reponse -> fetch(PDO::FETCH_ASSOC)){
    						# on doit échapper avec \ à chaque fois que l'on rencontre les doubles guillemets "
    							echo "<label><input type=\"checkbox\" name =\"id[]\" value = \"". $donnees["vehicle_id"] . "\">" . $donnees["vehicle_id"] . "</label>";
    						}
     
    						 echo '<input type="submit"/> <input type="reset"/>';
    						$reponse->closeCursor();
    					}
     
    					echo "</form>";
    				?>				
    	</form>
    </body>





    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    <?php
     print_r ($_POST);
     echo "<br />";
     
    if(isset($_POST['id'])){
     
    	try{
     
    		$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    		$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);    
    		$reponse = $bdd->query('SELECT vehicle_id, path, type_of_statistics FROM results WHERE vehicle_id IN ('.implode(',', array_map('intval', $_POST['id'])).')');
     
    		while ($donnees = $reponse -> fetch(PDO::FETCH_ASSOC)){
    			echo $donnees["vehicle_id"] . "<br />";
    			echo "<a href = \"" . $donnees["path"] . "\">" . $donnees["type_of_statistics"] . "</a> <br />";	
    		}
     
    		$reponse->closeCursor();	
    	}
    	catch(Exception $e){
    		die('Erreur : '.$e->getMessage());
    	}
    }
     else
      echo 'Aucune ID séléctionné.';
     
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Affiche et controle ta requête.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/04/2011, 15h38
  2. [SQL] Construction d'une requête à partir d'une requête
    Par Pgs dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 15/09/2007, 16h24
  3. Création d'une table à partir d'une requête
    Par pedroleouf dans le forum Administration
    Réponses: 16
    Dernier message: 25/10/2006, 19h18
  4. Réponses: 8
    Dernier message: 27/06/2006, 12h47
  5. Exécuter une requête à partir d'une variable
    Par Poussy-Puce dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/03/2006, 15h15

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