Page 1 sur 1

Structures de contrôles+MySQL

Posté : 26 avr. 2007, 16:22
par Tendy
Bonjour à tous,
je dispose d'une table sql : tbl_valeurs contenant comme champs : id,valeur,login

J'aimerais faire en sorte que lorsque 'valeur' est négatif, on ne puisse plus la modifier. Seulement, je n'y arrive pas. Voilà mon script :

Code : Tout sélectionner

// Connexion à la db $sql = "SELECT valeur FROM tbl_valeurs WHERE login='$login'"; if($valeur< 0) { echo "Vous n'avez pas de stocks disponibles."; } elseif($valeur> 1){ // Suite du code..
Merci d'avance pour votre aide,
Cordialement.

Posté : 26 avr. 2007, 16:41
par Sékiltoyai
Evidement, ca nous avance.
Si tu veux qu'on t'aide, c'est pas avec le code que t'as mis qu'on va réussir.

Posté : 26 avr. 2007, 16:50
par Tendy
D'accord, je vous donne plus d'informations.

La page "un.html" contient un formulaire avec un seul champ "quantite". Lorsque l'on valide ce formulaire on arrive sur la page "valeur.php".

Le but est trés simple, le formulaire permet de retirer de la quantité au champ "valeur" de la table de données. Ainsi, si valeur = '234' et que l'utilisateur entre '200' dans le formulaire, le champ valeur sera alors égal à 34, puisque 234-200=34.

Mon but est de rendre impossible l'opération lorsque valeur = 0 et de retourne un message d'erreur "Vous n'avez plus de stocks disponibles".
Voici donc mon code en entier:

Code : Tout sélectionner

<?php $armes = $data['armes']; // On commence par récupérer le champ de la page "un.html" if(isset($_POST['quantite'])) $quantite=$_POST['quantite']; else $quantite=""; // On vérifie si le champe st vide if(empty($quantite)) { echo '<font color="red">Vous avez laissez le champ vide. Veuillez recommencez.</font>'; } // Aucun champ n'est vide, on peut enregistrer dans la table else { // connexion à la base $db = mysql_connect('localhost', '*', '*') or die('Erreur de connexion '.mysql_error()); // sélection de la base mysql_select_db('*',$db) or die('Erreur de selection '.mysql_error()); $sql = "SELECT valeur FROM tbl_valeurs WHERE login='$login'"; if($valeur< 0) { echo "Vous n'avez pas de stocks disponibles."; } elseif($valeur> 0){ // on écrit la requête sql $sql2 = "UPDATE tbl_valeurrs SET valeur=valeur-'$quantite', WHERE email='$email'"; // on insère les informations du formulaire dans la table mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error()); // on affiche le résultat pour le visiteur echo '<span class=\"ttext\">Valeur modifiée.</span>'; mysql_close(); // on ferme la connexion } } ?>
En ésperant avoir été clair, je vous remercie de m'aider.

Posté : 26 avr. 2007, 16:52
par x0s
Bonjour,

Je suppose que tu n'arrives pas à tester une donnée contenu dans une table mysql, ainsi il faut que tu saches récupérer cette donnée, la stocker dans une variable et puis la tester, pour cela, il faut que tu ailles lire ce tutorial (paragraphe 4)

http://www.phpfrance.com/tutoriaux/inde ... l-avec-php

A+

Posté : 27 avr. 2007, 15:44
par Tendy
Merci beaucoup pour ce lien trés précieux. J'ai résolu mon problème.