Le filtre ne fonctionne pas [Résolu]

Signaler
Messages postés
106
Date d'inscription
mardi 16 décembre 2003
Statut
Membre
Dernière intervention
24 octobre 2005
-
Messages postés
106
Date d'inscription
mardi 16 décembre 2003
Statut
Membre
Dernière intervention
24 octobre 2005
-
Salut a tous!

J ai cree une page appelé Kits.php qu j appelle par
Kit.php?tipekit=type_du_kit

Voici son code:

<?
$type=$_GET['typekit'];
$connect = mysql_connect('localhost', 'root', '');
mysql_select_db('kitgraph',$connect);
if ($type='All')
{
$sql = "SELECT * FROM kit_list";
}
// elseif ($type='Jeux')
// {
//$sql = "SELECT * FROM kit_list WHERE cat='Jeux'";
// }
//elseif ($type='Info')
//{
//$sql = "SELECT * FROM kit_list WHERE cat='Informatique'";
// }
// elseif ($type='Couleur')
// {
// $sql = "SELECT * FROM kit_list WHERE cat='Couleur'";
//}
//elseif ($type='NB')
//{
//$sql = "SELECT * FROM kit_list WHERE cat='NB'";
//}
// elseif ($type='Autres')
//{
// $sql = "SELECT * FROM kit_list WHERE cat='Autres'";
// }
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
while($data = mysql_fetch_assoc($req))
{
echo'[kits/screenshots/max/'.$data['img'].' ] Nom: '.$data['nom'].' , Type:'.$data['type'].', Catégorie: '.$data['cat'].'

';
echo''.$data['comments'].'

';
echo'[kits/kit/'.$data['lien'].' Télecharger] ('.$data['taille'].')

';
}
mysql_close();

?>

LES Balise codes marchent pas :-(

Mais lorsque j' appelle la page (par exemple
kits.php?typekit=NB)

Toute la table apparait au lieu d avoir juste les enregistrements dont le champs cat est egal a la valeur donnée.

4 réponses

Messages postés
27
Date d'inscription
mercredi 3 septembre 2003
Statut
Membre
Dernière intervention
21 février 2005

salut Joleroy

je pense qu'une partie ton erreur se situe au niveau des if en fait tu mets un seul "=" et il en faut deux "==" ca devrai deja arranger pas mal de choses.

@+
Messages postés
106
Date d'inscription
mardi 16 décembre 2003
Statut
Membre
Dernière intervention
24 octobre 2005

Ca marche g ramplacer tout ce code par:

if ($type=='*')
{
$sql = "SELECT * FROM kit_list"; 
}
else
{
$sql = "SELECT * FROM kit_list WHERE cat='$type'"; 
}


Voila!
Messages postés
106
Date d'inscription
mardi 16 décembre 2003
Statut
Membre
Dernière intervention
24 octobre 2005

Merci ca marche.

Sauf que:

lorsque je met

 if ($type=='All')
 {
 $sql = "SELECT * FROM kit_list"; [1]
 } 
 elseif ($type=='Jeux')
 {
 $sql = "SELECT * FROM kit_list WHERE cat='Jeux'"; 
 }
 elseif ($type=='Info')
 {
 $sql = "SELECT * FROM kit_list WHERE cat='Informatique'"; [2]
 } 
 elseif ($type=='Couleur')
 {
 $sql = "SELECT * FROM kit_list WHERE cat='Couleur'"; 
 } 
 elseif ($type=='NB')
 {
 $sql = "SELECT * FROM kit_list WHERE cat='NB'"; 
 } 
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error()); 


Tout marche sauf [1]et [2] qui me mettent le message: "Query was empty"
Messages postés
27
Date d'inscription
mercredi 3 septembre 2003
Statut
Membre
Dernière intervention
21 février 2005

etrange !!!

si tes autres requetes marchent ca doit etre une erreur d'orthograghe (verifie les MAJ )- pour "All" - mais ca peut etre aussi que la valeur informatique n'hexiste pas dans ta table au champs cat () (verifie les MAJ ) je pense que c'est ca .

@+