If dans une requête

5 messages dans ce sujet

Posté(e) · Signaler ce message

Hello!

Juste une question : soit un bout de script suivant:

$mysql_stock = @MYSQL_QUERY("SELECT stock FROM peel_produits WHERE id = ".$article['id']."") or DIE('Une erreur de connexion à la base s\'est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());

$rows_stock = MYSQL_NUM_ROWS($mysql_stock);

mysql_query("UPDATE peel_produits SET stock = stock -1 WHERE id = ".$article['id']."");

if($rows_stock < 1)

{

mysql_query("UPDATE peel_produits SET etat = '0' WHERE id = ".$article['id'].""); }

Le premier Update fonctionne très bien mais pourquoi le second l'Update ne fonctionne pas après la condition? Pousrquoi la requête n'accepte pas la condiftion "if"? Plusieurs fois je me suis dejà penché sur ce sujet sans réponse non faute d'avoir cherché. Toute url serait bienvenue.Salutations

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Hello!

Juste une question : soit un bout de script suivant:

Le premier Update fonctionne très bien mais pourquoi le second l'Update ne fonctionne pas après la condition? Pousrquoi la requête n'accepte pas la condiftion "if"? Plusieurs fois je me suis dejà penché sur ce sujet sans réponse non faute d'avoir cherché. Toute url serait bienvenue.Salutations

Juste une question pourquoi il y a un @ devant "MYSQL_QUERY" ?

Je ne comprends pas comment vous avez codé...

1) vous cherchez le stock d'un produit

2) vous stockez le nombre de ligne retournées (en gros s'il y a du stock ed renseigné ou non)

3) vous updatez le stock en decrémentant de 1 (même si au dessus ca n'a pas retourné de ligne)

4) s'il y avait bien une ligne de stock vous passez l'était du produit à 0 (même si le stock est = à 100 000 par exemple).

Je pense que vous souhaitez decrémenter de 1 a chaque commande et quand il n'y a plus de stock mettre le produit a l'état 0 non ?

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Juste une question pourquoi il y a un @ devant "MYSQL_QUERY" ?

Je ne comprends pas comment vous avez codé...

1) vous cherchez le stock d'un produit

2) vous stockez le nombre de ligne retournées (en gros s'il y a du stock ed renseigné ou non)

3) vous updatez le stock en decrémentant de 1 (même si au dessus ca n'a pas retourné de ligne)

4) s'il y avait bien une ligne de stock vous passez l'était du produit à 0 (même si le stock est = à 100 000 par exemple).

Je pense que vous souhaitez decrémenter de 1 a chaque commande et quand il n'y a plus de stock mettre le produit a l'état 0 non ?

Willy

Hello!

J'ai bien codé car tous mes essais sont ok après de nombreux tatonnements. Je ne pourrai vous en dire plus car tous les scripts sont dispersés et en attentes de remise à jour. J'ai pu solutionner mon problème: en gros chaque fois que je fais une commande d'un produit, je decrémente de 1 et c'est seulement si mon stock est à zero que j'enlève mon produit en ligne en mettant son état à 0. Mes nombreux essais sont concluants . Dans la fonction cree_commande() de fonction.php voilà mon bout de code qui fonctionne (mais je vais encore le modifier bientôt):

$mysql_stock = @MYSQL_QUERY("SELECT stock FROM peel_produits WHERE id = ".$article['id']."") or DIE('Une erreur de connexion à la base s\'est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());

$rows_stock = MYSQL_NUM_ROWS($mysql_stock);

mysql_query("UPDATE peel_produits SET stock = stock -1 WHERE id = ".$article['id']."");

$rows_stock = 0;

while($rows_stock < 1) {

mysql_query("UPDATE peel_produits SET etat = '0' WHERE id = ".$article['id']."");

$rows_stock++; }

mysql_query($requete);

Comme je l'ai dit sur une une autre reponse à propos de stock, je ne mettrais pas le code en ligne car il n'est point commenté et il est un peu dispersé de partout. Il me faudrait mettre beaucoup d'ordre avant! Je continue ma programmation - Merci de m'avoir lu - Salutations!

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

chez moi ca marche pas mal, mais c'est en finition pour avoir un stock virtuel...

des conseils?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

chez moi ca marche pas mal, mais c'est en finition pour avoir un stock virtuel...

des conseils?

Hello!

Merci pour l'aide - je vais me casser la tête un peu : histoire de trouver - J'aime bien chercher avant de demander en ultime recours de l'aide - Merci et Salutations!

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping