Accueil > Forum > > > > probleme avec SELECT et liste déroulante
probleme avec SELECT et liste déroulante
vendredi 7 septembre 2007 à 19:36:33 |
probleme avec SELECT et liste déroulante

munchie
|
bonjour à tous, Voila j'ai un petit problème avec ma requete... Je veux récupérer les champs d'une table mais en évitant les doubles. et lorsque l'on clic sur une valeur de la liste ca devrait lister les resultats correspondants au champs. je m'explique... Voici la requete: $query="SELECT DISTINCT ville_agenda FROM t_agenda"; Donc avec cela j'obtient les différents nom des villes dans la liste déroulante sans doublon. Donc c ok! mais il est sensé lister toutes les expositions qui existe pour une ville.mais il ne récupère q'un seul resultat. Il faudrait pouvoir lier l'ID mais avec DISTINCT pas possible.... Comment faire pour qu'il me liste toutes les expositions existantes pour la ville selectionnée??? merci à tous!!! je débute en php donc soyez indulgent ;)
|
|
samedi 8 septembre 2007 à 22:33:39 |
Re : probleme avec SELECT et liste déroulante

nhervagault
|
salut,
Peux-tu mettre un exemple plus clair.
Exemple la structure de tes 3 tables (il me semble que tu en as 3)
Et le resultat de ta requete.
Si j'imagime c que tu cherches c'est une requete du style que tu veux?
select agenda + ' - ' + ville
from ville
inner join agenda_ville on agenda_ville.idville = ville.idvillle
inner join agenda on agenda_ville.idagenda = agenda.idagenda
Et la tu as les agenda de toutes les villes.
Je me trompes peut etre mais sans plus de detail c'est difficile de repondre?
Voila
|
|
dimanche 9 septembre 2007 à 20:13:10 |
Re : probleme avec SELECT et liste déroulante

munchie
|
En fait, c'est plus simple que ca 
je n'ai qu'une seule table dont voici la structure:
CREATE TABLE `t_agenda` ( `id_agenda` int(11) NOT NULL auto_increment, `evt_agenda` varchar(255) character set latin1 collate latin1_general_cs NOT NULL, `net_agenda` varchar(255) character set latin1 collate latin1_general_cs NOT NULL, `adresse_agenda` varchar(255) character set latin1 collate latin1_general_cs NOT NULL, `ouver_agenda` varchar(255) character set latin1 collate latin1_general_cs NOT NULL, `plan_agenda` varchar(255) character set latin1 collate latin1_general_cs NOT NULL, `tel_agenda` varchar(50) character set latin1 collate latin1_general_cs NOT NULL, `ville_agenda` varchar(50) NOT NULL, `CP_agenda` int(11) NOT NULL, `dat_agenda` date NOT NULL, `dat_fin_agenda` date NOT NULL, PRIMARY KEY (`id_agenda`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=16 ;
Je récupère le champ "ville_agenda" pour lister les villes dans une liste déroulante. Par exemple 3expositions différentes peuvent avoir lieu à Bruxelles. Dans ma liste déroulante , je veux que "Bruxelles" apparaissent une seule fois. et lorsque je desire afficher les expositions qui ont lieu à Bruxelles , je veux qu'il me liste les 3 expositions existantes. Problème : quand je fais ceci :
$query2="SELECT * FROM t_agenda ORDER BY ville_agenda "; Il affiche "Bruxelles" 3 fois dans ma liste déroulante.(correspondant aux 3expositions) Mais si je fais ceci:
$query2="SELECT DISTINCT ville_agenda FROM t_agenda ORDER BY ville_agenda "; là, "Bruxelles" apparait une seule fois mais il n'y a plus d'ID et donc si je désire afficher les expositions correspondantes a "Bruxelles" il me mets ceci:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\Tools\Wamp\www\diminewtemp\include\agenda2.php on line 138
J'ai un peu peur de pas être très clair... donc voici l'ensemble de mon code...
$query2="SELECT * FROM t_agenda ORDER BY ville_agenda"; $result2=mysql_query($query2);
echo '<div id="recherch_agenda"> <form method="GET" action="index.php?cat=9"> <select name="choix">'; echo '<option value="select_tt">Tout afficher</option>'; while ($row2 = mysql_fetch_array($result2)){ //if($row2['ville_agenda']>1) echo '<option value="'.$row2['id_agenda'].'">'.$row2['ville_agenda'].'</option>'; } echo '</select> <input type="submit" value="Afficher"/> <input type="hidden" value="9" name="cat"/> </form> </div>';
if (!isset($_GET['choix'])){ $sql="SELECT * FROM t_agenda ORDER BY dat_agenda"; } elseif(($_GET['choix'])=="select_tt"){ $sql="SELECT * FROM t_agenda ORDER BY dat_agenda"; } else{ $sql="SELECT * FROM t_agenda WHERE id_agenda=".$_GET['choix']." ORDER BY dat_agenda"; } $sql_result=mysql_query($sql);
echo '<table id="table_agenda10" cellspacing="5"><tr> <th>Exposition</th> <th>Date</th> <th>Lieu</th> <th>Infos?</th></tr> '; $i=0; while($row=mysql_fetch_array($sql_result)){ $bgcolor = ($i++ & 1) ? "white" : "#c6c6c6"; echo '<tr bgcolor='.$bgcolor.'><td><b class="agenda10">'.$row['evt_agenda'].'</b></td> <td><b class="agenda10">Du '.strftime("%d/%m/%y", strtotime($row['dat_agenda'])).' au '.strftime("%d/%m/%y", strtotime($row['dat_fin_agenda'])).'</b></td> <td>'.$row['ville_agenda'].'</td> <td><a href="index.php?cat=9&info='.$row['id_agenda'].'" class="lien_info10">Plus d\'infos</a></td></tr>'; } echo '</table>'; } }
Voilou.... j'espère avoir été assez clair... Merci d'avance!!!
|
|
dimanche 9 septembre 2007 à 21:50:18 |
Re : probleme avec SELECT et liste déroulante

nhervagault
|
Salut,
J'ai un peu de mal à suivre le raisonnement.
C'est un probleme de conception que tu as.
Normalement, il faut une table ville et une table agenda
et la table agenda a une cle etrangere sur la table ville.
Sinon je vois mal comment tu ajoute de nouvelles villes.
Et une ville a une seule cle si tu utilse 2 tables.
Bon courage.
|
|
dimanche 9 septembre 2007 à 22:31:51 |
Re : probleme avec SELECT et liste déroulante

munchie
|
merci pour ta réponse... mais lorsque j'ajoute un évènement , j'ai le nom de l'expo, les dates , l'adresse, la ville, ect... et la liste déroulante me sert d'outil de recherche (par ville) qui permet d'afficher toutes les expos qui ont lieu à bruxelles par exemple... je ne comprend pas pourquoi (dans ce cas ci) je devrais faire 2tables pour encoder un évènement... mais si c'est la seule solution... alors...j'vai y regarder...
|
|
lundi 10 septembre 2007 à 10:27:19 |
Re : probleme avec SELECT et liste déroulante

nhervagault
|
Ok,
J'ai pigé ton truc, dans la construction de ta liste dans il faut utilisé le nom de ta ville et non l'ID de ta ligne d'agenda, sinon tu auras toujours qu'une seule ligne car id_agenda est normalement unique c'est logique.
Bon courage
echo '<option value="'.$row2['ville_agenda'].'">'.$row2['ville_agenda'].'</option>';
Apres est_ce que les espaces et accents sur les noms de ville, fonctionne normalement OUI. Mais c'est mieux avec deux tables.
Voila
|
|
mardi 11 septembre 2007 à 12:13:53 |
Re : probleme avec SELECT et liste déroulante

munchie
|
encore merci pour ta réponse! voila, j'ai testé ta proposition et malheureusement il me met une erreur sur cette ligne:
while($row=mysql_fetch_array($sql_result)){
alors, j'ai testé également avec 2 tables. celle dont je t'ai mis la structure plus haut...(t_agenda) et une nouvelle qui reprend le nom des villes.(t_ville_expo) Pour relier les 2 j'ai ajouté un champs "num_ville" dans ma première table (t_agenda) qui correspond donc a l'ID de la ville (de la deuxième table) . J'ai fait la requete : $sql="SELECT * FROM t_agenda WHERE num_ville=".$_GET['choix']." "; }
et tout fonctionne parfaitement!!! Donc "bruxelles apparait une fois dans la liste et quand j'affiche les resultats pour "bxl" il me liste les 3expos existantes...
mais voila, maintenant se pose un autre probleme... il ya une partie administration dans mon site. Et lorsqu'on va ajouter une nouvelle exposition dans l'agenda, comment faire pour remplir le "num_ville" de la table(t_agenda). Comment faire pour qu'il fasse la correspondance entre la nouvelle ville qu'il encode et un "num_ville". Aieaieaie...dur dur pour un debutant tout ca!....;) peux-tu me donner des pistes? J'ai encore de gros problème de logique je crois...
merci encore pour t'aide!
|
|
mardi 11 septembre 2007 à 21:48:38 |
Re : probleme avec SELECT et liste déroulante

nhervagault
|
Normalement, Tu inseres dans la tabole ville, Tu fais uen requete pour recuperer le dernier index inserer, c'es tun truc du genere SELECT LAST_INSERT_ID() FROM table
Et apres tu inseres dans ta table agenda ton evenement.
Et apres tu peux mettre les deux insertions dans une transaction.
|
|
Cette discussion est classée dans : probleme, liste, select, déroulante, ville
Répondre à ce message
Sujets en rapport avec ce message
liste déroulante [ par Axelles ]
Ma liste déroulante est liée à un groupe d'option. Comment je pourrais faire pour obliger l'utilisateur à saisir la donnée dans ma liste déroulante sa
PROBLEME REQUETE SELECT [ par brute ]
Bonjour,J'ai un probleme de REQUETE SELECT avec ORacle .J4ai une table avec 4 colonnes, ID, FACE, PARAM, VALEURl'ID prend les valeurs (1 ou 2 ou 3 ou
requete imbrique <> all [ par JulienOrion666 ]
Bonjour, Je voudrais selectioner toute les personne ne faisait pas partie d'une liste retourne par une requete (le contraire de IN en sorte toutes le
SELECT rapatriement multiple de données suivant liste id à virgule [ par alphanono ]
Désolé pour ce titre foireux ... j'ai essayé de faire court pour un problème que j'ai du mal à exprimer simplement.Je vais prendre un exemple fictif.M
Comment insérer une variable d'une liste déroulante dans une instruction SQL [ par nicodgb ]
Bonjour à tous,Je suis débutant et j'ai un petit problème sur Access 2007.J'ai un formulaire avec une liste déroulante et je voudrais faire référence
Probleme de GROUP BY [ par etu54 ]
Bonjour et merci de prendre ces quelques minutes pour lire le post, Je débute dans le Access et j'ai un probleme qui me fait perdre la tete Voila j'a
liste déroulante ACCESS pas de sélection possible dans la liste [ par chamttt ]
Bonjour à tous, Je débute et ai un petit problème avec une liste déroulante : J'ai bien réussi à y intégrer les données que je voulais y voir appar
problème résultat requête select [ par slayer07 ]
Bonjour, je viens de faire une requête select sur 2 tables. Le souci que j'ai est que lors de l'exécution de la requête,il m'apparait 2 résultats avec
liste déroulante formulaire [ par audreysorelle ]
Bonjour, J'ai une liste déroulante alimenter par une table prenons par exemple la table famille ou dans ma liste il y a tout les noms de famille.. Je
probleme repetition requette sql [ par profiter ]
bonjour, j'ai 2 tables : societe, ville avec le code_ville est une cle etrangere de la table ville dans la table societe alors si je veux afficher da
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|