IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Requete update ne fonctionne pas


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2014
    Messages : 1
    Points : 3
    Points
    3
    Par défaut Requete update ne fonctionne pas
    Bonjour, j'ai quelques problèmes avec certains formulaires censés mettre à jour ma base de données. Exemple avec le code ci dessous, la mise à jour de la base se fait uniquement pour la location, mais pas pour la quantité. Des erreurs dans mon code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    <form action="modifverrerie.php" method="post" name="modifier">
    					Type : <input type="text" name="Type" value="<?php echo $_GET['type']; ?>" > <br />
    					Nom du matériel :  <input type="text" name="Nom" value="<?php echo $_GET['nom']; ?>"> <br />
    					Nouvelle quantité: <input type="text" name ="nouvellequantite" id="nouvellequantite"> <br/>
    					Nouvelle localisation : <select  name="nouvellelocalisation" id="nouvellelocalisation" > 
     
    											<optgroup label ="Couloir">
    												<option value="Couloir-a">placard A</option>
    												<option value="Couloir-b">placard B</option>
    												<option value="Couloir-c">placard C</option>
    											</optgroup>
    											<optgroup label ="T 001">
    												<option value="T-001-a">placard A</option>
    												<option value="T-001-b">placard B</option>
    												<option value="T-001-c">placard C</option>
    											</optgroup>	
    											<optgroup label ="T 002">
    												<option value="T-002-a">placard A</option>
    												<option value="T-002-b">placard B</option>
    												<option value="T-002-c">placard C</option>
    												<option value="T-002-d">placard D</option>
    											</optgroup>	
    											<optgroup label ="T 004">
    												<option value="T-004-a">placard A</option>
    												<option value="T-004-b">placard B</option>
    												<option value="T-004-c">placard C</option>
    											</optgroup>	
    											<optgroup label ="T 005">
    												<option value="T-005-tiroirs">Tiroirs paillasses</option>
    											</optgroup>
    											<optgroup label ="T 006">
    												<option value="T-006-a">placard A</option>
    												<option value="T-006-b">placard B</option>
    											</optgroup>	
    											<optgroup label ="T 010">
    												<option value="T-010-a">placard A</option>
    												<option value="T-010-B">placard B</option>
    												<option value="T-010-C">placard C</option>
    											</optgroup>	
    											<optgroup label ="T 107">
    												<option value="T-107-a">placard A</option>
    												<option value="T-107-b">placard B</option>
    												<option value="T-107-c">placard C</option>
    												<option value="T-107-d">placard D</option>
    												<option value="T-107-e">placard E</option>
    												<option value="T-107-f">placard F</option>
     
    											</optgroup>	
    											</select></br>
    					<br />
    						<input type ="submit" name ="btnSubmit" value="Modifier" /> 	
    					</form>
    					<?php
    					// on teste si les variables du formulaire sont déclarées
     
    					if(!empty($_POST['btnSubmit']))
    					{
    					if(isset($_POST['btnSubmit'])) {
    						// lancement de la requête
     
    						$sql = 'UPDATE materiel SET Quantite="'.$_POST['nouvellequantite'].'" WHERE Nom="'.$_POST['Nom'].'"';
    						$sql = 'UPDATE materiel SET Lieu="'.$_POST['nouvellelocalisation'].'" WHERE Nom="'.$_POST['Nom'].'"';
    						// on exécute la requête (mysql_query) et on affiche un message au cas où la requête ne se passait pas bien (or die)
    						mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
     
    						// on ferme la connexion à la base
    						mysql_close();
     
    						// un petit message permettant de se rendre compte de la modification effectuée
    						echo '<br/><br/>Il y a d&eacutesormais  "3" exemplaires de " '.$_POST['Type'].' '.$_POST['Nom'];
    						echo ' " et ce mat&eacuteriel se trouve maintenant en '.$_POST['nouvellelocalisation'];
    					}
    					else {
    						echo 'Vous n\'avez pas renseign&eacute certaines informations';
    					}
    					}
    					?>

  2. #2
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    analyse ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $sql = 'UPDATE materiel SET Quantite="'.$_POST['nouvellequantite'].'" WHERE Nom="'.$_POST['Nom'].'"';
    $sql = 'UPDATE materiel SET Lieu="'.$_POST['nouvellelocalisation'].'" WHERE Nom="'.$_POST['Nom'].'"';
    // on exécute la requête (mysql_query) et on affiche un message au cas où la requête ne se passait pas bien 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
    $sql contient d'abord la requête pour faire l'update "quantité"
    ensuite
    $sql contient la requête pour faire l'update "lieu" (qui remplace la requête précédente)
    et tu execute $sql donc l'update "lieu"
    donc ton programme fait ce qui est programmé, donc fonctionne parfaitement, il ne fait pas ce que tu veux, mais ce que tu a programmé.
    (J'ai déjà remarqué que les ordinateurs quelque soit le langage de programmation, n'ont aucune imagination pour deviner les intentions pourtant très souvent, très bonnes, du programmeur)

    tu peux très bien faire les 2 updates dans la même requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $sql = 'UPDATE materiel SET (Quantite="'.$_POST['nouvellequantite'].'",Lieu="'.$_POST['nouvellelocalisation'].'") WHERE Nom="'.$_POST['Nom'].'"';
     
    // on exécute la requête (mysql_query) et on affiche un message au cas où la requête ne se passait pas bien 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL-5.5] Requete UPDATE ne fonctionne pas
    Par polon dans le forum Requêtes
    Réponses: 1
    Dernier message: 05/10/2013, 11h20
  2. Requete qui ne fonctionne pas chez l'hebergeur
    Par Derik dans le forum Requêtes
    Réponses: 4
    Dernier message: 05/06/2006, 02h35
  3. Requete UPDATE ne fonctionnant pas
    Par Yanmeunier dans le forum Access
    Réponses: 3
    Dernier message: 12/04/2006, 17h19
  4. inner join pour requete update ne marche pas
    Par Garra dans le forum Requêtes
    Réponses: 4
    Dernier message: 25/01/2006, 13h14
  5. Microsoft Update ne fonctionne pas sous Win 2000 SP4
    Par botakelymg dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 03/10/2005, 05h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo