Requetes avancées sql
Résolu/Fermé
Fetide68
Messages postés
746
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
16 septembre 2024
-
21 sept. 2009 à 16:24
internaute - 19 mai 2011 à 10:34
internaute - 19 mai 2011 à 10:34
A voir également:
- Requetes avancées sql
- Accéder aux options de démarrage avancées de windows 10 - Guide
- Logiciel sql - Télécharger - Bases de données
- Nos systèmes ont détecté un trafic exceptionnel sur votre réseau informatique. cette page permet de vérifier que c'est bien vous qui envoyez des requêtes, et non un robot ✓ - Forum Virus
- Requete sql pix - Forum PHP
- Jointure sql ✓ - Forum MySQL
7 réponses
Darkito
Messages postés
1191
Date d'inscription
vendredi 7 décembre 2007
Statut
Membre
Dernière intervention
26 mai 2010
545
21 sept. 2009 à 16:32
21 sept. 2009 à 16:32
Bonjour,
Tu peux scindé ta requête sql et y ajouter les conditions en fonction des valeurs du formulaire.
Tu peux scindé ta requête sql et y ajouter les conditions en fonction des valeurs du formulaire.
$query = "SELECT * FROM films"; if ($titre != '') { $query += "WHERE titre LIKE '%$titre%'"; } if ($genre != '') { if ($titre != '') { $query += "AND genre = '$genre'"; } else { $query += "WHERE genre = '$genre'"; } etc... mysql_query($query);
Fetide68
Messages postés
746
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
16 septembre 2024
32
21 sept. 2009 à 16:55
21 sept. 2009 à 16:55
Le truc c'est que là, j'ai simplifié la table. Elle a quelques champs en plus. En plus, c'est un exercice... j'aimerais trouver la solution.
S'il faut faire des recherche comme ça, j'ai pas fini... Mais merci quand même...
S'il faut faire des recherche comme ça, j'ai pas fini... Mais merci quand même...
Fetide68
Messages postés
746
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
16 septembre 2024
32
21 sept. 2009 à 17:28
21 sept. 2009 à 17:28
En fait, c''était juste un problème d'encodage de caractère dans le champs...
Fetide68
Messages postés
746
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
16 septembre 2024
32
22 sept. 2009 à 16:57
22 sept. 2009 à 16:57
$recherche = mysql_query ("SELECT * FROM films WHERE type LIKE '%$type%' AND genre LIKE '%$genre%' AND nationalite LIKE '%$nationalite%' AND duree BETWEEN '$min' AND '$max' AND titre LIKE '%$recherche%' OR realisateur LIKE '%$recherche%' OR acteurs LIKE '%$recherche%' ");
La variable récupère le champs 'recherche' et permet comme vous pouvez le voir, de chercher le titre du film ou le nom ou prénom d'un acteur ou d'un realisateur. La dernière ligne de la requête semble problématique.
Si je mets des AND à la place des OD ou des OR à la place des AND, ça marche plus. OR ca ne m'arrange pas haha... Merci !
Darkito
Messages postés
1191
Date d'inscription
vendredi 7 décembre 2007
Statut
Membre
Dernière intervention
26 mai 2010
545
22 sept. 2009 à 17:18
22 sept. 2009 à 17:18
Il suffit de mettre le triplet de OR entre parenthèses.
AND ( titre LIKE '%$recherche%' OR realisateur LIKE '%$recherche%' OR acteurs LIKE '%$recherche%' )
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Fetide68
Messages postés
746
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
16 septembre 2024
32
22 sept. 2009 à 17:20
22 sept. 2009 à 17:20
Oh, c'est magique... Merci !
Darkito
Messages postés
1191
Date d'inscription
vendredi 7 décembre 2007
Statut
Membre
Dernière intervention
26 mai 2010
545
22 sept. 2009 à 17:23
22 sept. 2009 à 17:23
C'est purement de la logique, rien de magique :p
Fetide68
Messages postés
746
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
16 septembre 2024
32
22 sept. 2009 à 17:28
22 sept. 2009 à 17:28
Mais je savais pas qu'on pouvait faire ça...
Moi j'essayais de trouver le moyen de faire une autre requete... where titre IN (...
J'ai même pas pensé que SQL permettait ce genre de choses... et je savais pas... Merci
Moi j'essayais de trouver le moyen de faire une autre requete... where titre IN (...
J'ai même pas pensé que SQL permettait ce genre de choses... et je savais pas... Merci