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 :

UPDATE ne fonctionne pas malgré qu il n y a pas d erreur [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Points : 71
    Points
    71
    Par défaut UPDATE ne fonctionne pas malgré qu il n y a pas d erreur
    Bonjour, je suis entrain de réaliser un code en basantt sur des formulaires internet qui permet de modifier ma base de données sql .

    j'ai une page qui me permet d afficher les infos de ma abse de donnéee avec un lien pour faire les modifs.

    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
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<link rel="stylesheet" href="../Parc_Transformateur.css" />
    		<title>  </title>
    		<style type="text/css"> #hidden { display: none;  } </style>
    	</head>
    	<body>
    	<div>
    	<?php
      //connection au serveur:
     include_once("menu_admin.php");
     include_once("../db_connection.php");
     if(isset($_POST["send"])) {
    		$errors="";
    		if($_POST["identifiant"]=="" OR $_POST["identifiant1"]=="" OR $_POST["marque"]=="") $errors=$errors."<p class='ligne_erreur'>Tout les champs doivent être remplis</p>";//methode 1 
    		if($_POST["identifiant"]!= $_POST["identifiant1"]) $errors=$errors."<p class='ligne_erreur'>Les deux identifiants ne sont pas identiques</p>";
    		if (!(isset($_POST["pcb"]))) $errors = $errors."<p class='ligne_erreur'> Veuillez séléctionner si le transformateur est en service ? </p>";
    		if($errors=="") {
    			$requete="INSERT INTO transformateur VALUES ('".$_POST['identifiant']."', '".$_POST['marque']."', '". $_POST['date_fabrication']."', '".$_POST['type']."', '".$_POST['puissance']."', '".$_POST['qtite_huile']."', '".$_POST['pcb']."',  '".$_POST['valeur']."',  '".$_POST['zone']."')" ;
    			$resultat=mysql_query($requete) or die(mysql_error());
    			if ($resultat) echo "<p class='titre_2'>La modification à été correctement effectuée </p>";
    		} 
    		else echo $errors;
    	} 
    else {}	
     //récupération de la variable d'URL,
      //qui va nous permettre de savoir quel enregistrement modifier
      $identifiant = $_GET["idtransfo"] ;
     
      //$identifiant  = $_GET["idtransfo"] ;
     
      //requête SQL:
      $sql = "SELECT *
    	      FROM transformateur
    	      WHERE identifiant =".$identifiant ;
      //exécution de la requête:
      $requete = mysql_query( $sql) ;
      //affichage des données:
      while( $result = mysql_fetch_object( $requete ))
      {
      ?>
    	<form name ="form1" action="affiche2.php" method="post">
    	<fieldset>
    	<legend class="titre_1">Nouveau transformateur à saisir </legend>
    	<p class="ligne_form_1">Identifiant (*) : <input name="identifiant" type="text" /></p>
    	<p class="ligne_form_1">Confirmez l'identifiant (*) : <input name="identifiant1" type="text" /></p>
    	<p class="ligne_form_1">Marque (*) : <input name="marque" type="text" /></p>
    	<p class="ligne_form_1">Date de fabrication (*) : <input name="date_fabrication" type="text" /></p>
    	<p class="ligne_form_1">Type (*) : <select name="type" id="type">
    	<option value="H61">H61</option>
    	<option value="cabine">Cabine</option>
    	</select></p>
    	<p class="ligne_form_1">Puissance (kVA) (*) : <select name="puissance" id="puissance";">
    	<option value="1000">1000 </option>
    	<option value="630 kVA">630 </option>
    	<option value="400 kVA">400 </option>
    	<option value="250 kVA">250 </option>
    	<option value="160 kVA">160 </option>
    	<option value="100 kVA">100 </option>
    	<option value="50 kVA">50 </option>
    	</select></p>
    	<p class="ligne_form_1">Quantité d'huile (litres)  (*) : <input name="qtite_huile"  type="text" /></p>
    	<p class="ligne_form_1">PCB (*) : Oui<input name="pcb" type="radio" value="1" />Non<input name="pcb" type="radio" value="0"/></p>
    	<p class="ligne_form_1" id="hidden">Valeur (*) : <input  name="valeur" type="text" /></p>
    	<p class="ligne_form_1">Zone de stockage (*) : <select name="zone" onchange="griser(), id="zone";">
    	<option value="zone1">Zone 1 </option>
    	<option value="zone2">Zone 2 </option>
    	<option value="zone3">Zone 3 </option>
    	</select></p>
    	<p class="ligne_form_1"> (*) Tous les champs sont obligatoires.</p>
    	<p class="ligne_form_1"><input name="send" type="submit" value="Enregistrer" /><input name="reset" type="reset" value="Annuler" /></p>
    	</fieldset>
    	</form>
    	<?php
    	}
    	mysql_close();
    	?>
    	</div>
    	<script type="text/javascript">
    	var oui = document.form1.pcb[0];
    	var non = document.form1.pcb[1];
    	oui.onclick=function(){ document.getElementById ("hidden").style.display ="block" };
    	non.onclick=function(){ document.getElementById ("hidden").style.display ="none" };
    	</script>
    	</body>
    </html>
    ensuite j'ai une page pour mettre à jour ma base de donnné et ça m affiche que les modifs se sont bien effetué mais que je revisualise ma abse de donnée rien à changer Merci de m'aider

    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
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<link rel="stylesheet" href="../Parc_Transformateur.css" />
    		<title>  </title>
    	</head>
     
    	<body>
    	<div>
    		<?php
     
    	include_once("menu_admin.php");
    	include_once("../db_connection.php");
    	  //récupération des valeurs des champs:
      //nom:
        $identifiant = $_POST["identifiant"] ;
      //prenom:
      $marque = $_POST["marque"] ;
      //adresse:
      $date_fabrication = $_POST["date_fabrication"] ;
      //code postal:
      $type       = $_POST["type"] ;
      //numéro de téléphone:
      $puissance       = $_POST["puissance"] ;
     
      //récupération de l'identifiant de la personne:
      $qtite_huile         = $_POST["qtite_huile"] ;
      $pcb       = $_POST["pcb"] ;
      $valeur       = $_POST["valeur"] ;
      $zone       = $_POST["zone"] ;
      //création de la requête SQL:
      $sql = "UPDATE transformateur
                SET identifiant         = '$identifiant', 
    				marque    = '$marque',
    				date_fabrication    = '$date_fabrication',
    				type   = '$type',
    				puissance = '$puissance',
    				qtite_huile = '$qtite_huile',
    				pcb = '$pcb',
    				valeur= '$valeur',
    				zone = '$zone'
               WHERE identifiant =".$identifiant ;
     
      //exécution de la requête SQL:
      $requete = mysql_query($sql) or die( mysql_error() ) ;
     
     
      //affichage des résultats, pour savoir si la modification a marchée:
      if($requete)
      {
        echo("La modification à été correctement effectuée") ;
      }
      else
      {
        echo("La modification à échouée") ;
      }
    ?>
     
    	</form>
     
    	</div>
    	</body>
    </html>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    La première chose à faire est un echo de ta requête pour la contrôler.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1/ dans le 2ème script, où est le formulaire de modification ???
    Il n'y a qu'une balise </form>...

    2/ que vaut $identifiant ???
    $identifiant = $_GET["idtransfo"] ;
    ou
    $identifiant = $_POST["identifiant"] ;
    ??

    3/ AUCUNE REQUETE n'est PROTEGEE contre les injections SQL => mysql_real_escape_string()

    4/
    MYSQL : Cette extension est obsolète depuis PHP 5.5.0, et sera supprimée dans le futur.

    À la place, les extensions MySQLi ou PDO_MySQL doivent être utilisées.

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Points : 71
    Points
    71
    Par défaut
    Merci pour ton aide, je bloque tjrs sur ca
    $identifiant = $_GET["idtransfo"]; il vaut : $identifiant = $_Post["identifiant"]; ?
    et
    $id= $_GET["idtransfo"]; ?

    Ma requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql = "SELECT *
        FROM transformateur
        WHERE identifiant =".$id ;
    Mais tjrs ça fonctionne pas malgré q y en a aucun erreur

  5. #5
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    te retourne quoi ?
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Points : 71
    Points
    71
    Par défaut
    Merci pour vous. ça fonctionne c'était le problème de passage de paramètre et des guillemts

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

Discussions similaires

  1. [VB.Net 2.0] Pourquoi ma DataTable ne se modifie pas malgré l'Update ?
    Par sandra69 dans le forum Accès aux données
    Réponses: 8
    Dernier message: 21/08/2007, 22h41
  2. Chaîne SQL update ne fonctionne pas (faut-il l'imbriquer ?"
    Par beegees dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/10/2006, 11h22
  3. UPDATE ne fonctionne pas ?
    Par crocodile dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 18/07/2006, 16h50
  4. Requete UPDATE ne fonctionnant pas
    Par Yanmeunier dans le forum Access
    Réponses: 3
    Dernier message: 12/04/2006, 17h19
  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