Récuperation des données d'une table
Résolu
turkish15
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
nicelife90 Messages postés 615 Date d'inscription Statut Membre Dernière intervention -
nicelife90 Messages postés 615 Date d'inscription Statut Membre Dernière intervention -
Bonsoir, je souhaiterais récupérer les infos concernant, disons , une agence que j'aurais sélectionnée au préalable dans une liste déroulante.
Ce que j'ai, c'est que quand je sélectionne un groupe dans la 1ere liste, j'ai les agences qui appartiennent à ce groupe dans la seconde liste, par contre ce que je cherche à faire c'est quand je sélectionne une agence dans la seconde liste, j'aurais depuis la table, toute les infos concernant cette agence là que j'ai sélectionnée.
pour les listes j'utilise ce code:
Ce que j'ai, c'est que quand je sélectionne un groupe dans la 1ere liste, j'ai les agences qui appartiennent à ce groupe dans la seconde liste, par contre ce que je cherche à faire c'est quand je sélectionne une agence dans la seconde liste, j'aurais depuis la table, toute les infos concernant cette agence là que j'ai sélectionnée.
pour les listes j'utilise ce code:
<?php session_start(); /* Variables de connexion : ajustez ces paramètres selon votre propre environnement */ $serveur = "localhost"; $admin = "root"; $mdp = ""; $base = "regions"; $connexion = mysql_connect($serveur, $admin, $mdp); mysql_select_db($base, $connexion); if(isset($_POST['gexp'])){ $_SESSION['gexp'] = $_POST['gexp']; echo 'vous avez choisi le Groupe d\'Exploitation '.$_SESSION['gexp'].'<br />'. '<br />'; } if(isset($_POST['agency'])){ $_SESSION['agency'] = $_POST['agency']; echo 'vous avez choisi l\'Agence '.$_SESSION['agency'].'<br />'; } ?> Choisissez un groupe d'exploitation <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chg_gexp"> <select name="gexp" id="gexp" onchange="document.forms['chg_gexp'].submit();"> <option>- - - Choisissez un groupe d'exploitation - - -</option> <?php $sql1 = "SELECT 'id', 'nomgroupe' FROM 'groupex' ORDER BY 'id'"; $rech_groupe = mysql_query($sql1); if($rech_groupe != false){ while($ligne = mysql_fetch_assoc($rech_groupe)){ ?> <option value="<?php echo $ligne['id']; ?>" <?php if(isset($_SESSION['gexp']) AND $_SESSION['gexp'] == $ligne['id']) echo 'selected="selected"'; ?>> <?php echo $ligne['nomgroupe']; ?> </option> <?php } } mysql_free_result($rech_groupe); ?> </select> </form> choisir une Agence <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chg_agency"> <select name="agency" id="agency" onchange="document.forms['chg_agency'].submit();"> <option>- - - Choisissez une sous-classe - - -</option> <?php if(isset($_SESSION['gexp'])){ $sql2 = "SELECT 'code', 'nom' FROM 'agences' WHERE 'id' = ". $_SESSION['gexp'] ." ORDER BY 'code';"; $rech_agence = mysql_query($sql2); if($rech_agence != false){ while($ligne = mysql_fetch_assoc($rech_agence)){ ?> <option value="<?php echo $ligne['code']; ?>" <?php if(isset($_SESSION['gexp']) AND$_SESSION['agency'] == $ligne['code']) echo 'selected="selected"'; ?>> <?php echo $ligne['nom']; ?> </option> <?php } } mysql_free_result($rech_agence); } ?> </select> </form>
A voir également:
- Récuperation des données d'une table
- Fuite données maif - Guide
- Table des matières word - Guide
- Table ascii - Guide
- Trier des données excel - Guide
- Table des caractères - Guide
5 réponses
Voici un exemple similaire avec des ville et des quartier que je t'ai fais rapidement.
copie ceci dans un fichier index.php :
copier ceci dans un fichier .sql et importe le dans mysql ou ce que tu utilise.
copie ceci dans un fichier index.php :
<!doctype html> <html> <head> <meta charset="utf-8"> <title>CCM DEMO</title> </head> <body> <?php /** * Début de la session */ if (!isset($_SESSION)) session_start(); /** * MySQL Info */ $bdd_host = "localhost"; $bdd_username = "trinity"; $bdd_pass = "trinity"; $bdd_port = "3306"; $bdd_name = "ccm"; /* | ------------------------------------------- | MySQL Connection | ------------------------------------------- */ $mysqli = new mysqli($bdd_host, $bdd_username, $bdd_pass, $bdd_name, $bdd_port); if ($mysqli->connect_errno) { echo "Echec lors de la connexion à MySQL : (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; } $mysqli->query("SET NAMES UTF8"); $mysqli->set_charset('utf8'); if (isset($_POST['ville'])){ $_SESSION['ville'] = $_POST['ville']; echo 'Vous avez choisi la ville '.$_SESSION['ville'].'<br />'; } if (isset($_POST['quartier'])){ $_SESSION['quartier'] = $_POST['quartier']; echo 'Vous avez choisi la ville '.$_SESSION['ville'].' et le quartier '.$_SESSION['quartier'].'.'; } ?> <p>Choisir une ville</p> <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="frm_ville"> <select name="ville" onchange="document.forms['frm_ville'].submit();"> <option>Choisir Ville</option> <?php $villes = $mysqli->query("SELECT 'id', 'name' FROM 'ville' ORDER BY 'id'"); while($ville = $villes->fetch_assoc()){ echo '<option value="'.$ville['id'].'" '; if (isset($_SESSION['ville']) && $_SESSION['ville'] == $ville['id']) { echo 'selected="selected">'; } else {echo '>';} echo $ville['name']; echo '</option>'; } $villes->free_result(); ?> </select> </form> <p>Choisir un quartier</p> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" id="frm_quartier"> <select name="quartier" onChange="document.forms['frm_quartier'].submit();"> <option>Choisir Quartier</option> <?php if (isset($_SESSION['ville'])){ $quartiers = $mysqli->query("SELECT * FROM 'quartier' WHERE 'vid'=".$_SESSION['ville']." ORDER BY 'id'"); while($quartier = $quartiers->fetch_assoc()){ echo '<option value="'.$quartier['id'].'" '; if (isset($_SESSION['quartier']) && $_SESSION['quartier'] == $quartier['id']) { echo 'selected="selected">'; } else {echo '>';} echo $quartier['name']; echo '</option>'; } $quartiers->free_result(); } ?> </select> </form> <?php if (isset($_SESSION['ville']) && isset($_SESSION['quartier'])){ $quartier_info = $mysqli->query("SELECT * FROM 'quartier' WHERE 'id'='".$_SESSION['quartier']."'")->fetch_assoc(); ?> <hr/> <table width="500" border="1" summary="Ceci représente l'information su le quartier sélectionner."> <caption> Description du quartier séléectionné </caption> <tr> <th width="276" scope="row">Nom du quartier</th> <td width="214"><?php echo $quartier_info['name']; ?></td> </tr> <tr> <th scope="row">Taille du quartier</th> <td><?php echo $quartier_info['size']; ?></td> </tr> <tr> <th scope="row">Population</th> <td><?php echo $quartier_info['pop']; ?></td> </tr> <tr> <th scope="row">Langue Parlé</th> <td><?php echo $quartier_info['langue']; ?></td> </tr> <tr> <th scope="row">Description du quartier</th> <td><?php echo $quartier_info['description']; ?></td> </tr> </table> <?php }?> </body> </html>
copier ceci dans un fichier .sql et importe le dans mysql ou ce que tu utilise.
-- phpMyAdmin SQL Dump -- version 3.5.1 -- http://www.phpmyadmin.net -- -- Client: localhost -- Généré le: Jeu 10 Avril 2014 à 01:54 -- Version du serveur: 5.5.24-log -- Version de PHP: 5.3.13 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Base de données: 'ccm' -- CREATE DATABASE 'ccm' DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; USE 'ccm'; -- -------------------------------------------------------- -- -- Structure de la table 'quartier' -- -- Création: Jeu 10 Avril 2014 à 01:46 -- Dernière modification: Jeu 10 Avril 2014 à 01:48 -- CREATE TABLE IF NOT EXISTS 'quartier' ( 'id' int(5) NOT NULL AUTO_INCREMENT COMMENT 'UID du quartier', 'vid' int(5) NOT NULL COMMENT 'ID de la ville', 'name' varchar(30) COLLATE utf8_unicode_ci NOT NULL COMMENT 'nom du quartier', 'description' mediumtext COLLATE utf8_unicode_ci NOT NULL COMMENT 'description du quartier', 'size' varchar(50) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Taille du quartier', 'pop' varchar(50) COLLATE utf8_unicode_ci NOT NULL COMMENT 'population du quartier', 'langue' varchar(50) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Langue parlé', PRIMARY KEY ('id') ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='quartier' AUTO_INCREMENT=7 ; -- -- Contenu de la table 'quartier' -- INSERT INTO 'quartier' ('id', 'vid', 'name', 'description', 'size', 'pop', 'langue') VALUES (1, 1, 'Fabreville', 'Quatier situer au nord de laval', '175 KM', '15 000', 'Français'), (2, 1, 'Saint-Rose', 'Quatier situer a proximiter de Fabreville', '186 KM', '15 896', 'Français'), (3, 2, 'Verdun', 'Quartier défavoriser de la ville de montréal', '896 KM', '19 562', 'Anglais'), (4, 2, 'Outremont', 'Quartier avec une forte population juive', '56 KM', '8965', 'Français'), (5, 3, 'Haute-ville', 'Quartier touristique', '236 KM', '11 906', 'Arabe'), (6, 3, 'Base-Ville', 'Quartier résidentiel peux favoriser', '125 KM', '563', 'Français'); -- -------------------------------------------------------- -- -- Structure de la table 'ville' -- -- Création: Jeu 10 Avril 2014 à 01:13 -- Dernière modification: Jeu 10 Avril 2014 à 01:19 -- CREATE TABLE IF NOT EXISTS 'ville' ( 'id' int(5) NOT NULL AUTO_INCREMENT COMMENT 'UID de la ville', 'name' varchar(30) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Nom de la ville', PRIMARY KEY ('id'), UNIQUE KEY 'name' ('name') ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Ville' AUTO_INCREMENT=5 ; -- -- Contenu de la table 'ville' -- INSERT INTO 'ville' ('id', 'name') VALUES (1, 'Laval'), (2, 'Montréal'), (3, 'Québec'); /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
je l'ai fait, mais j'ai que la liste déroulante qui me dit choisir ville, et quand je clique dessus y a rien, les enregistrements n'ont pas étés récupérés :S
Salut nicelife90, merci pour ta réponse rapide, j'ai déjà ajusté les informations de connections aux miens, le user et le mot de passe ça n'a rien changer :S
Y'aurai-t-il pas un moyen d'ajuster la section d'affichage de l'agence sélectionnée de ton code au mieu, j'aurais un truc du genre :
Y'aurai-t-il pas un moyen d'ajuster la section d'affichage de l'agence sélectionnée de ton code au mieu, j'aurais un truc du genre :
<?php
if (isset($_SESSION['gpex']) && isset($_SESSION['agency'])){
$agency_info = $mysqli->query("SELECT * FROM 'agences' WHERE 'id'='".$_SESSION['agency']."'")->fetch_assoc();
?>
<hr/>
<table width="500" border="1" summary="Ceci représente l'information sur l'agence sélectionnée.">
<caption>
Description de l'agence sélectionnée
</caption>
<tr>
<th width="276" scope="row">Code de l'agence :</th>
<td width="214"><?php echo $agency_info['code']; ?></td>
</tr>
<tr>
<th scope="row">Nom de l'agence :</th>
<td><?php echo $agency_info['nom']; ?></td>
</tr>
<tr>
<th scope="row">Adresse :</th>
<td><?php echo $agency_info['adresse']; ?></td>
</tr>
<tr>
<th scope="row">E_mail :</th>
<td><?php echo $agency_info['email']; ?></td>
</tr>
<tr>
<th scope="row">Numero de téléphone :</th>
<td><?php echo $agency_info['num']; ?></td>
</tr>
<tr>
<th scope="row">Fax. :</th>
<td><?php echo $agency_info['fax']; ?></td>
</tr>
</table>
<?php }?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui il est possible d'ajuster sans problème mais le code que tu donnais ne fonctionnais pas.
De plus tu utilise une syntaxe procédural pour ton développement et tes connexion à mysql ce qui est fortement non recommander pour les nouveaux développement.
Tu devrais utiliser un syntaxe orienté objet avec mysqli ou PDO.
https://www.php.net/manual/fr/mysqli.construct.php
si tu veux envoi moi par message privé un dump de ta base de donné et le fichier que tu veux corriger je te le renvois corriger.
De plus tu utilise une syntaxe procédural pour ton développement et tes connexion à mysql ce qui est fortement non recommander pour les nouveaux développement.
Tu devrais utiliser un syntaxe orienté objet avec mysqli ou PDO.
https://www.php.net/manual/fr/mysqli.construct.php
si tu veux envoi moi par message privé un dump de ta base de donné et le fichier que tu veux corriger je te le renvois corriger.