Jump to content

[Résolu] Afficher les commande expédiée uniquement


Recommended Posts

Bonjour à tous,

 

Je bloque sur un point, je voudrais créer un script qui n'affiche sur ma page (externe à presta) que les commandes en préparation (id_order_state = 3)

 

Je bloque car forcément, avec mon code ci-dessous, si j'appelle en GET le numéro de commande, il va considérer que si la commande a déjà eu un id_order_state = 3 alors elle est en préparation :

 

SELECT $TABLE_COMMANDE.id_order,$TABLE_HISTOR_COMMANDE.id_order_state
FROM $TABLE_COMMANDE
INNER JOIN $TABLE_HISTOR_COMMANDE
ON $TABLE_HISTOR_COMMANDE.id_order = $TABLE_COMMANDE.id_order
WHERE $TABLE_COMMANDE.id_order = '".$IdCommande."' AND id_order_state = '3'
LIMIT 1

 

Avec cette requête, il va afficher la commande même si elle est expédiée (statut 4) car elle aura déjà eu le statut 3 (en préparation). L'idée c'est d'afficher un message d'erreur ( if(mysql_num_rows($sql) = 0) echo 'deja expé, essayer un autre numero de cmd'; )

 

Comment puis-je afficher les commandes en cours de préparation uniquement, même si celle-ci ont déjà un historique avec plusieurs id_order_state, je veux uniquement afficher la commande qui en ce moment est en préparation ...

 

Merci à vous !

 

Anthony

Edited by Anthotill (see edit history)
Link to comment
Share on other sites

Bonjour,

Essaies ça :

 

SELECT id_order FROM '._DB_PREFIX_.'orders o
						    WHERE 3 = (
								    SELECT id_order_state
								    FROM '._DB_PREFIX_.'order_history oh
								    WHERE oh.id_order = o .id_order
								    ORDER BY date_add DESC, id_order_history DESC
								    LIMIT 1)

Link to comment
Share on other sites

Bonjour,

Essaies ça :

 

SELECT id_order FROM '._DB_PREFIX_.'orders o
							WHERE 3 = (
									SELECT id_order_state
									FROM '._DB_PREFIX_.'order_history oh
									WHERE oh.id_order = o .id_order
									ORDER BY date_add DESC, id_order_history DESC
									LIMIT 1)

 

Bonjour,

 

Ca semble fonctionner mais alors les requêtes imbriquées et moi ça fait deux ! il va falloir que je lise un tuto car je ne comprend déjà pas celle-ci !

 

En tout cas merci beaucoup, ça fonctionne !

 

Anthony

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...