Requete mysql qui affiche les résultats compris entre deux

Eléphanteau du PHP | 40 Messages

01 oct. 2005, 00:16

Les tests sont fait et ne donne rien la requete n'est pas prise en compte ou et fausse alore qu'il y a un résultat correspondant dans la base

Mammouth du PHP | 19672 Messages

01 oct. 2005, 00:23

As-tu testé ta requête directement dans phpMyAdmin ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 40 Messages

01 oct. 2005, 00:41

J'ais l'erreur suivante :

Code : Tout sélectionner

MySQL a répondu: #1064 - Erreur de syntaxe près de 'switch ($parution) { case "toutes": $sql1 .= where date' à la ligne 1

Mammouth du PHP | 19672 Messages

01 oct. 2005, 00:44

C'est sur que si tu essayes d'exécuter une requête avec du PHP directement dedans, ça va planter.

Génère une requête via ton formulaire, mais rajoute un echo($select) après le script pour faire afficher la requête: copie-là et essaye celle-ci dans phpMyAdmin.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 40 Messages

01 oct. 2005, 00:46

Désolé je me suis rendu compte de mon erreur et le résultat et positif pas d'erreur.

Code : Tout sélectionner

SELECT cat, titre, pseudom, ville, nomDestination1, nomDestination2, nomDestination3, departement, prix, id, DATE_FORMAT( date, '%d.%m.%y' ) date, SUBSTRING( description, 1, 200 ) AS description FROM fk_dvd_vhs_cinema WHERE date > '2005-09-30' AND ( cat LIKE '%mot2%' OR titre LIKE '%mot2%' OR description LIKE '%mot2%' ) AND cat LIKE 'Action et Aventure%' AND departement LIKE 'Doubs (25)%' AND ville LIKE 'ville2%' AND prix >= '40000' AND prix <= '40000' ORDER BY 'id' DESC LIMIT 0 , 30

Mammouth du PHP | 19672 Messages

01 oct. 2005, 00:52

C'est beaucoup mieux : et là, tu as un résultat dans phpMyAdmin ou un message d'erreur ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 40 Messages

01 oct. 2005, 00:55

La requête SQL a été exécutée avec succès. Je ne vois pas ou j'ai fais une erreur y doit y avoir un problème qui n'a rien à voir avec la requête

Mammouth du PHP | 19672 Messages

01 oct. 2005, 00:59

Ok, essaye celle-là (la même modifiée:

Code : Tout sélectionner

SELECT cat, titre, pseudom, ville, nomDestination1, nomDestination2, nomDestination3, departement, prix, id, DATE_FORMAT( date, '%d.%m.%y' ) date, SUBSTRING( description, 1, 200 ) AS description FROM fk_dvd_vhs_cinema WHERE date > '2005-09-30' AND ( cat LIKE '%mot2%' OR titre LIKE '%mot2%' OR description LIKE '%mot2%' ) AND cat = 'Action et Aventure' AND departement = 'Doubs (25)' AND ville = 'ville2' AND prix >= '40000' AND prix <= '40000' ORDER BY 'id' DESC LIMIT 0 , 30
Si tu as le résultat attendu, tu observeras bien ce que j'ai changé pour modifier le code de génération en conséquence.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 40 Messages

01 oct. 2005, 01:47

J'ai remplacé LIKE par un = mais la condition ne fonctionne plus

Eléphanteau du PHP | 40 Messages

01 oct. 2005, 02:19

OUF j'ai trouvé la solution :D
Comme le prix n'est pas une chaine de caractère la valeur doit etre totalement nu :

Code : Tout sélectionner

if ($prix_mini != "tous" || $prix_maxi != "tous") { $select .= "AND prix >= ". $prix_mini ." AND prix <= ". $prix_maxi ." "; }
Merci beaucoup pour votre aide