Tri dans requete MySQL

Fermé
aviateur - 10 févr. 2009 à 21:52
Psyk974 Messages postés 551 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 30 mars 2010 - 12 févr. 2009 à 05:00
Bonjour à tous sur le forum "programmation",

Je n'arrive pas à imbriquer deux conditions selon que l'on utilise un ou deux mots pour la recherche. La base de données contient des noms et des numéros de classe... la recherche se fait soit par nom soit par numéro de classe.

voici le départ du script :

<?php
include('connexion.php');

$h = $_POST['name'];
echo "<BR><BR><BR>\n";

echo $row['date'];
echo "Votre recherche sur... <EM>$h</EM>.\n";
echo "<BR><BR>\n";
$SQL = "SELECT * FROM annuaire WHERE nom_prenom LIKE '$h%' AND actif = 'oui'";
$result = mysql_query($SQL) or die("La requête <BR><PRE>$SQL</PRE>a échoué : ".mysql_error());
$article =mysql_fetch_object($result);
$result = mysql_query($SQL) ;

echo "<td width=\"20%\" align=\"left\"> $row[1]... $row[2], $row[3], $row[4]";
echo "</TR>";
echo"</table>";
?>

dans ce script j'arrive à faire afficher le nom des adhérents (nom_prenom) et seulement si leur statut actif est OUI...
.... je voudrai ajouter la variable $c pour la recherche par classe, j'ai fait différents essais sans résultat probants... soit que je n'ai rien comment résultat, soit que j'ai tout le contenu de la BDD...

Quelqu'un peut-il me montrer la façon d'inclure une deuxième option de tri dans mon script...

Merci d'avance et bonne fin de journée à tous sur le forum

2 réponses

974_Vin's_974 Messages postés 547 Date d'inscription vendredi 23 janvier 2009 Statut Membre Dernière intervention 19 février 2009 102
11 févr. 2009 à 07:20
Ben pourkoi tu ne rajoute pas tout simplement une condition AND .....

0
Psyk974 Messages postés 551 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 30 mars 2010 51
11 févr. 2009 à 07:55
Salut voila ta nouvelle requête

$SQL = 'SELECT * FROM annuaire WHERE nom_prenom LIKE '.$h.'% AND date LIKE '.$c.'% actif = "oui"';

Ton "%" était mal placé
0
aviateur39 Messages postés 7 Date d'inscription mardi 10 février 2009 Statut Membre Dernière intervention 31 octobre 2009
12 févr. 2009 à 04:52
Salut Psyk

Merci beaucoup pour ton aide qui m'a montré le chemin...
Après avoir essayé la formulation de ta requête qui ne marchait pas et m'amenait <a une erreur sql, j'ai cherché un peu et suis arrivé a cette formulation qui marche :

$SQL = "SELECT * FROM annuaire WHERE nom_prenom LIKE '$h%'AND classe LIKE '$c%' AND actif = 'oui'";


Je ne pensais pas que l'on pouvait ajouter indéfiniment des conditions AND à plusieurs reprises (il doit sans doute arriver un moment où ça bloque...?)

Le principal est que cela fonctionne dans mon cas..!

Encore une fois merci pour l'aide apportée... à toi et au précédent qui m'a dit de rajouter une condition AND

Bonne journée à tous sur le forum

Cordialement
0
Psyk974 Messages postés 551 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 30 mars 2010 51 > aviateur39 Messages postés 7 Date d'inscription mardi 10 février 2009 Statut Membre Dernière intervention 31 octobre 2009
12 févr. 2009 à 05:00
Normalement tu peux ajouter autant de condition AND
J'ai mis en place un filtre sur un tableau pour au moins 6 colonnes donc 6 AND

Désolé pour le % mal placé :p je ne savais plus trop où le mettre

Ah oui met un tit résolu à ton message :)
0