Requête selon minimum et maximum

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Requête selon minimum et maximum

par Ryle » 04 avr. 2008, 11:54

Oki, j'avions pas compris ça....

Assure toi que les champs largeur et hauteur de ta base sont bien de type numérique (int, double, ...) et pas texte (varchar) sans quoi la comparaison se fait de manière alphabétique, auquel cas "10" est situé avant "9" puisqu'il commence par un "1" :)

Il faudra également retirer les apostrophes autours des valeurs numériques dans ta requête (s'il y en a) :
... WHERE (largeur >= 1100) AND ...
et pas
... WHERE (largeur >= '1100') AND ...

par TheBuzz » 01 avr. 2008, 16:22

Merci Ryle,

En fait, mes valeurs sont stockées dans une base de donnée. J'appelle ma base de donnée depuis un formulaire avec plusieurs INPUT de type TEXT, dont un se nomme Largeur et l'autre Hauteur.

Ces données saisies par l'utilisateur sont envoyées par AJAX à un fichier où se trouve ma requête et insère le résultat obtenu de ma requête dans le même formulaire pour un affichage direct des dimensions et montants.

Ma demande va dans le sens d'effectuer une requête comportant la recherche de la valeur directement supérieure si celle-ci entrée n'est pas trouvée, mais de trier ma requête si les valeurs sont effectivement comprises dans ma base de donnée.

Merci de votre soutien.

par Ryle » 01 avr. 2008, 15:55

Euh... c'est un peu logique qu'avec un " >= code1 " il te retourne les valeurs égales ou supérieures à code1 :)

J'ai pas bien compris le sens de la question, mais éventuellement, avant de demander à l'utilisateur de saisir une valeur, tu peux faire un

Code : Tout sélectionner

SELECT MAX(largeur) AS largeur_max, MIN(largeur) AS largeur_min, MAX(hauteur) AS hauteur_max, MIN(hauteur) AS hauteur_min FROM ...
Et informer ton utilisateur (ou vérifier en javascript puisque c'est vraissemblablement pour du confort utilisateur) que la largeur saisie est bien comprise entre le min et le max disponible :)

Requête selon minimum et maximum

par TheBuzz » 01 avr. 2008, 15:29

Chers Tous,

J'ai une table contenant :

Largeur | Hauteur | Montant
1500 | 1200 | 900
1800 | 1200 | 1000
...
1500 | 1500 | 1200
1800 | 1500 | 1300
...

J'ai effectué ma requête ci-dessous :

Code : Tout sélectionner

CREATE TABLE ... SELECT * FROM `products_ajax` WHERE (largeur >= 'code1') AND (hauteur >= 'code2') ORDER BY largeur, hauteur
Elle fonctionne correctement et l'affichage est correct dans du code PHP et HTML avec formulaire. Cependant, lorsque je demande : Largeur dans 'code1' 1100 et Hauteur dans 'code2' 1200, ceci m'affiche effectivement le Montant de 900, alors que je n'ai aucune donnée de 1100 dans ma base de donnée.

Je recherche le moyen, dans cette requête, de contrôler que les données saisies pour Largeur et hauteur soient bien comprises entre mes valeurs entrées dans ma base de donnée.

Merci de votre aide.[/code]