Les Allergies
Alimentaires
Posez votre question Signaler

Script mise a jour php [Résolu]

chinoutoure 41Messages postés 18 mai 2010Date d'inscription 30 novembre 2011Dernière intervention - Dernière réponse le 31 mai 2010 à 22:15
Bonjour,
j'ai ces deux scripts :
emprunt.html
<form method="post" action="emprunt.php" >
<table boreder="1" width="400" align="center">
<tr>
<td width="200"><b>ISBN</b></td>
<td width="200"><input type="text" name="ISBN"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit" value="Soumettre"></td>
</tr>
</table>
</form>
c'est un formulaire qui permet de mettre à jour le nbr d'exemplaires dispo de livres dans la base de données lors de l'emprunt d'un livre.
emprunt.php
<?php
//Connexion au serveur MySQL et selection de la bdd bibliotek_bd
require 'Connections/link.php';
//Récupération des données du formulaire
$ISBN=$_POST['ISBN'];
//selection du nbre d'exemplaires dispo
$sql = "select nbr_exemplaires_dispo,ISBN from livres l where ISBN LIKE '".$ISBN."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($ligne=mysql_fetch_object($req))
{
$ligne->nbr_exemplaires_dispo=$ligne->nbr_exemplaires_dispo-1;//c'est pour décrémenter le nbre d'exemplaires dispo dans la base de données
}
//Mise à jour du nombre d'exemplaires disponibles'
$sql1="update livres SET nbr_exemplaires_dispo='$ligne->nbr_exemplaires_dispo' where ISBN='$ISBN'";
$req1 = mysql_query($sql1) or die('Erreur SQL !<br>'.$sql1.'<br>'.mysql_error());
?>
Lorsque j'entre le ISBN du livre et que je valide le script emprunt.php devré décrémenté le champ nbr_exemplaires_dispo de 1 mais lorsque je consulte ma BDD je trouve 0 au lieu du nbr_exemplaires_dispo-1
Si quelqu'un pourrait m'aider voici ma BDD
adherents (id_adherent,nom,prenom,mail)
livres(ISBN,libelle_livre,nbr_exp_dispo,num_auteur)
emprunter(date_debut,date_fin,date_restitution,ISBN,nom_adherent)
auteurs(num_auteur,nom_auteur)
Lire la suite 

Script mise a jour php »

3 réponses
Réponse
+0
moins plus
<?php
//Connexion au serveur MySQL et selection de la bdd bibliotek_bd
require 'Connections/link.php';

//Récupération des données du formulaire
$ISBN=$_POST['ISBN'];

//selection du nbre d'exemplaires dispo

$sql = "SELECT nbr_exemplaires_dispo,ISBN FROM livres WHERE ISBN = '".$ISBN."'"; //tu avait un 1  en trop dans cette ligne
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$ligne=mysql_fetch_object($req); //pas besoin de boucle while puisque tu n'auras qu'un seul résultat
$ligne->nbr_exemplaires_dispo=$ligne->nbr_exemplaires_dispo-1;//c'est pour décrémenter le nbre d'exemplaires dispo dans la base de données



//Mise à jour du nombre d'exemplaires disponibles'
$sql1="UPDATE livres SET nbr_exemplaires_dispo='".$ligne->nbr_exemplaires_dispo."' WHERE ISBN='".$ISBN."'";
$req1 = mysql_query($sql1) or die('Erreur SQL !<br>'.$sql1.'<br>'.mysql_error());
?>
chinoutoure- 31 mai 2010 à 22:15
<?php
//Connexion au serveur MySQL et selection de la bdd bibliotek_bd
require 'Connections/link.php';

//Récupération des données du formulaire
$ISBN=$_POST['ISBN'];

//selection du nbre d'exemplaires dispo

$sql = "SELECT nbr_exemplaires_dispo FROM livres WHERE ISBN = '".$ISBN."'"; //j'ai enlevé ISBN dans le seclect et sa a marché
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$ligne=mysql_fetch_object($req); //pas besoin de boucle while puisque tu n'auras qu'un seul résultat
$ligne->nbr_exemplaires_dispo=$ligne->nbr_exemplaires_dispo-1;//c'est pour décrémenter le nbre d'exemplaires dispo dans la base de données



//Mise à jour du nombre d'exemplaires disponibles'
$sql1="UPDATE livres SET nbr_exemplaires_dispo='".$ligne->nbr_exemplaires_dispo."' WHERE ISBN='".$ISBN."'";
$req1 = mysql_query($sql1) or die('Erreur SQL !<br>'.$sql1.'<br>'.mysql_error());
?>
chinoutoure- 31 mai 2010 à 22:15
Merci
Ajouter un commentaire
Ce document intitulé « script mise a jour php » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?