|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 14 ![]() |
Bonjour, je suis en train de réaliser un site Internet pour un groupe automobile. Dans ce site il y a un formulaire de recherche (pour rechercher un véhicule d'occasion) et sur ma page de résultat j'ai fait cette requête qui ne me renvoi pas les données escomptée. Pourrais je avoir un éclaircissement ? Je pense que ma requête bien trop compliquée mais …
Code :
|
||
|
|
00
|
|
|
#2 | |
![]() ![]() |
1/ :alert: Attention aux injections SQL !!
=> il faut IMPERATIVEMENT éviter de mettre directement des variables $_GET[...] dans la requête ! 2/ Tu as des ...AND... et des ...OR... à gogo : mets des parenthèses pour bien séparer logiquement les conditions ! Citation:
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
|
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 14 ![]() |
Bonjour, Toujours avec le même problème de retour de données par formulaire.
J'ai voulu reprendre à zero mon codage de la page resultat du moteur de recherche et je suis a ceci Code :
Et si le codage vous semble propre. D'avance merci |
||
|
|
00
|
|
|
#4 | ||
![]() ![]() Sébastien Ingénieur réalisateur Inscription : mars 2011 Messages : 779 ![]() |
Bonjour,
Utilise BETWEEN plutôt non ? Code :
__________________
- Avant toute chose : lire le mode d'emploi du forum et ses règles. - avant de poster ![]() - Je ne réponds pas aux questions techniques en MP. |
||
|
|
00
|
|
|
#5 | |||||
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 14 ![]() |
Citation:
En fait dans phpMyAdmin quand je fais ça : Code :
|
|||||
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé
![]() ![]() |
Bonjour,
je pense que tu as un souci au niveau du typage des données. Tu considère tous tes champs comme des textes. Est-ce la cas ? Même pour le kilométrage, l'année, le prix ? J'ai repris ton code avec des commentaires : Code :
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
||
|
10
|
|
|
#7 | ||
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 14 ![]() |
Code :
j'ai regarder tout le code, il ne marche pas, mais je n'ai pas compris cette partie, ci dessus. Peux tu m'expliquer le ? et le : |
||
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() ![]() |
Cette notation (test) ? vrai : faux; correspond à l'opérateur ternaire.
Est-ce-que tu peux poster la structure de ta table Eurolinea ?
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
10
|
|
|
#9 | ||
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 14 ![]() |
Voici la structure et quelque entrée.
Code :
|
||
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() ![]() |
Donc, les champs numériques sont :
- Annee - Kilometrage PrixNeufTTC est de type varchar alors que PrixVenteTTC est un entier (int 11). Il n'y aurait pas comme un petit souci ? Pour pouvoir utiliser correctement BETWEEN il faut que PrixNeufTTC soit numérique.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
10
|
|
|
#11 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 14 ![]() |
En fait je m'étais trompé sur ma requête initiale il fallait faire la recherche sur : PrixVenteTTC
|
|
|
00
|
|
|
#12 | ||
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 14 ![]() |
En fait ton code fonctionne si j'enlève les deux ligne suivante :
Code :
|
||
|
|
00
|
|
|
#13 | ||||
|
Expert Confirmé
![]() ![]() |
Oui je suis naze moi:
et comme ça c'est pas mieux ? Code :
Code :
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
||||
|
10
|
|
|
#14 | ||
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 14 ![]() |
J'ai bien pris en compte les modifs.
Mais, puisqu'il y en a un, c'est ce ci pose problème je pense Code :
|
||
|
|
00
|
|
|
#15 |
|
Expert Confirmé
![]() ![]() |
j'avais fait une faute de frappe dans le bloc précédent : au lieu d'avoir en ligne 4 $pmini = j'avais mis $kmini =Tu as bien tout corrigé ?
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
10
|
|
|
#16 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 14 ![]() |
JE viens de voir ca, j'étais passé au travers
Si j'ai un problème ou si je réussis je posterais un message Merci mille fois rawsrc |
|
|
00
|
|
|
#17 | ||||
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 14 ![]() |
salut encore moi, je ne trouve pas la solution pour doubler la recherche sur 2 tables différentes.
J'ai doublé le code précédent en le notant $where2 Quand j'essaye l'action sur les deux $where2 séparément ca marche et je voudrais les réunir comme ça mais ca ne marche pas Code :
Sinon j'avais trouvé une méthode sur ce modèle mais que je trouve très complexe en ecriture : Code :
|
||||
|
|
00
|
|
|
#18 |
|
Expert Confirmé
![]() ![]() |
Bonjour,
le problème ne vient pas du where mais de l'union. Pour que cela fonctionne, il faut que les SELECT * FROM des deux côtés de UNION renvoient exactement le même nombre de colonnes et de même types. Regardes tes tables Eurolinea et PlanetVO.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
10
|
|
|
#19 | ||
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 14 ![]() |
Bonjour et Meilleurs Voeux à tous
J'en suis à ceci : Code :
Quand je fais les test dans phpMyAdmin ça fonctionne, je pense que c'est la syntaxe avec le . que je ne suis pas sûr de maitriser. |
||
|
|
00
|
|
|
#20 |
|
Expert Confirmé
![]() ![]() |
Bonjour,
Je ne vois pas d'erreur de syntaxe. Poses un echo $sql; avant d'exécuter ta requête histoire de voir si le problème ne se situerait pas par hasard dans un tes $where. Je te conseille d'éviter des chaines à rallonge comme tu le fais. Utilises tous les les moyens à ta disposition pour privilégier la lisibilité. Tu te remercieras plus tard.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
10
|
Copyright © 2000-2012 - www.developpez.com