Aide pour une requette

Aide pour une requette - SQL/NoSQL - Programmation

Marsh Posté le 04-04-2006 à 17:15:56    

Bonjour à tous,
 
je viens poser en fait plus une question de logique qu'une question SQL.
 
J'ai une table tranche_tarif et une table produit. A chaque produits correspond ses tranches tarifs.
Je foudrais afficher par défaut lors du choix de la quantité le tarif issu de la tranche correspondante.
 
Voici un tableau d'exemple :
http://img112.imageshack.us/img112/4150/pbsql3oe.jpg
 
Prenons l'exemple où la quantité est 9, il faudrais donc choisir la tranche <= qui est la plus proche.  
Soit la numéro 2, le tarif serait donc 9.
 
J'ai essayé ca :

Code :
  1. SELECT tarif as tarif FROM p_tranche_tarifs WHERE produit_id LIKE '$produit_id' AND tranche_tarif <= '$qte_produit'";


Mais ca marche pas, car ca prend toujours la première tranche, soit un tarif = 10.
 
Si quelqu'un peut me donner un coup de main  :ange:
 
 
Edit : j'utilise MySQL

Message cité 1 fois
Message édité par mc_cut_killer le 04-04-2006 à 17:16:28
Reply

Marsh Posté le 04-04-2006 à 17:15:56   

Reply

Marsh Posté le 04-04-2006 à 17:48:23    

Deux pistes :
- trie tes tarifs par ordre décroissant (avant filtrage sinon ca sert à rien boulette :/)
- utilise l'opérateur modulo si tes paliers sont de 5 en 5 genre tranche_tarif= '$qte_produit'-modulo('$qte_produit',5)
 
La première solution est "universelle", la seconde est plus casse gueule car si un jour tu passes le palier à +6, c'est mort :s


Message édité par jeoff le 05-04-2006 à 09:48:25
Reply

Marsh Posté le 04-04-2006 à 17:54:19    

mc_cut_killer a écrit :


Code :
  1. SELECT tarif as tarif FROM p_tranche_tarifs WHERE produit_id LIKE '$produit_id' AND tranche_tarif <= '$qte_produit'";



 [:totoz] elle est bizare ta requète
( genre tarif as tarif [:pingouino], et à quoi sert $produit_id ici ?!?)
Je ferrais ça moi

Code :
  1. SELECT tarif FROM p_tranche_tarifs WHERE tranche_tarif <= '$qte_produit'


 
 
edit : voir même pour être sûr de n'avoir qu'un seul résultat (et le bon de préférence)

Code :
  1. SELECT tarif FROM p_tranche_tarifs WHERE tranche_tarif <= '$qte_produit' ORDER BY tranche_tarif DESC LIMIT 1


Message édité par zapan666 le 04-04-2006 à 17:57:24

---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 05-04-2006 à 09:08:35    

Merci pour vos réponses, je vais essayer la méthode universelle car il n'y a pas de palier.  
 
Sinon pour répondre à zapan666, produit_id me sert à trouver facilement un produit, car deux produit peuvent avoir le même code mais pas le même indice. Par conséquent seul l'id est unique.
 
Voila, encore merci et @+


Message édité par mc_cut_killer le 05-04-2006 à 09:08:51
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed