Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 23/10/2007, 12h54   #1
Membre du Club
 
Inscription : mai 2003
Messages : 222
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 222
Points : 67
Points : 67
Par défaut [SQL] Filtrer avec une listbox

Bonjour,

J'ai une page php avec une requete qui liste les garages par region la ca fonctionne ce que j'aimerai c'est filtrer et ne voir que les regions d'aprés ma list box
ma page se trouve ici http://www.bestoccaz.com/pro.php

et voici mon code


Code :
1
2
3
4
5
6
$idreg=$_GET['idreg'];
mysql_select_db($database_webcar, $webcar);
$query_rs = "SELECT region.name, membre.idmembre, membre.raisonsociale,count(raisonsociale) as nb FROM membre, region,annonce WHERE raisonsociale <> ''    and raisonsociale is not null   and annonce.visible='oui' AND region.idreg= membre.idreg and annonce.idmembre=membre.idmembre GROUP BY 3 order by '$idreg'";
$rs = mysql_query($query_rs, $webcar) or die(mysql_error());
$row_rs = mysql_fetch_assoc($rs);
$totalRows_rs = mysql_num_rows($rs);
merci pour votre aide
digger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2007, 13h10   #2
Membre chevronné
 
Avatar de cadoudal56
 
Inscription : février 2005
Messages : 671
Détails du profil
Informations personnelles :
Âge : 40

Informations forums :
Inscription : février 2005
Messages : 671
Points : 646
Points : 646
Hello,


Le nom de ta boite (select) n'est peut-etre pas assez expressif, mais bon c'est toi qui voit... Perso, je l'aurais appellé region ou autre chose, mais bon, là n'est pas le probleme...

Tu dois récupérer la valeur de ta boite select pour en faire une condition dans ta requete SQL :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
 
$select = $_GET['select']
$idreg=$_GET['idreg'];
mysql_select_db($database_webcar, $webcar);
$query_rs = "SELECT region.name, membre.idmembre, membre.raisonsociale,count(raisonsociale) as nb 
FROM membre, region,annonce 
WHERE raisonsociale <> '' AND raisonsociale is not null AND annonce.visible='oui' AND region.idreg= membre.idreg AND annonce.idmembre=membre.idmembre AND region.id = $select 
GROUP BY 3 order by '$idreg'";
$rs = mysql_query($query_rs, $webcar) or die(mysql_error());
$row_rs = mysql_fetch_assoc($rs);
$totalRows_rs = mysql_num_rows($rs);
Tu dois aussi faire en sorte que la région reste sélectionnée dans la boite de sélection. Pour cela tu dois comparer l'ID de la région avec la valeur de $select. Si les valeurs sont égales, tu rajoutes SELECTED dans la balise OPTIOn de la ligne

@+
cadou
__________________
PHP Competition System
Script de gestion de coupes et championnats
http://phpcompet.free.fr

Mon jeu de foot
cadoudal56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2007, 14h29   #3
Membre du Club
 
Inscription : mai 2003
Messages : 222
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 222
Points : 67
Points : 67
j'ai recu à filtrer avec le select en changeant par idreg, le nom de mon select mais je n'arrive pas à lister tout si le selecte n'est pas selectionné
je pense que c'est la deuxieme phase de ta solution
http://www.bestoccaz.com/pro.php
digger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 08h26   #4
Membre chevronné
 
Avatar de cadoudal56
 
Inscription : février 2005
Messages : 671
Détails du profil
Informations personnelles :
Âge : 40

Informations forums :
Inscription : février 2005
Messages : 671
Points : 646
Points : 646
A partir du moment ou tu récupères la valeur de ta boite de sélection, tu connais l'identifiant de la région sélectionnée.

Par exemple, si je choisis Bretagne, le code suivant va me remonter 6 :
Code :
1
2
 
$select = $_GET['select'];
Ainsi, je sais que $select est égal à 6.

Quand tu va écrire le contenu de ta boite de sélection, tu va parcourir une boucle qui contiendra au minimum l'ID de ta région et son nom.
Par exemple, si tu as un tableau qui s'appelle $region, tu va faire comme ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
echo '<select name="select" class="texteboite">';
echo '<option value="Region">Region</option>';
for ($x=0;$x<count($region);$x++) {
     if ($region['id'] == $select) {
     echo '<option value="'.$region['id'].' selected">'.$region['name'].'</option>';
     }
     else {
     echo '<option value="'.$region['id'].'">'.$region['name'].'</option>';
     }
 
}
echo '</select';
@+
cadou
__________________
PHP Competition System
Script de gestion de coupes et championnats
http://phpcompet.free.fr

Mon jeu de foot
cadoudal56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web