Script mise a jour php

Résolu/Fermé
chinoutoure Messages postés 49 Date d'inscription mardi 18 mai 2010 Statut Membre Dernière intervention 8 avril 2015 - Modifié par chinoutoure le 31/05/2010 à 19:59
chinoutoure Messages postés 49 Date d'inscription mardi 18 mai 2010 Statut Membre Dernière intervention 8 avril 2015 - 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)

A voir également:

1 réponse

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
31 mai 2010 à 21:51
<?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());
?>
0
chinoutoure Messages postés 49 Date d'inscription mardi 18 mai 2010 Statut Membre Dernière intervention 8 avril 2015 1
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());
?>
0
chinoutoure Messages postés 49 Date d'inscription mardi 18 mai 2010 Statut Membre Dernière intervention 8 avril 2015 1
31 mai 2010 à 22:15
Merci
0