Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1176 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Requête UPDATE aucun résultat

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Requête UPDATE aucun résultat

n°2196605
weezyf
Posté le 06-07-2013 à 09:19:18  profilanswer
 

Bonjour,
 
Je poste dans le forum car je bloque sur quelque chose de stupide où je ne trouve pas l'erreur.
Dans la page php que je suis en train de créer on peut modifier les champs d'une table dans une BDD MySQL hébergée sous free. Rien de bien extraordinaire.
Le principe est le suivant, une page qui afficher les données de la table dans un tableau html avec un bouton "modifier" pour chaque ligne si jamais on veut modifier un enregistrement de la table. Bref. Quand on clique sur le bouton, l'ID de la ligne à modifier en envoyer en GET.
Quand on appelle la page de modification, je récupère le paramètre URL en GET et je remplis préalablement les champs du formulaire avec les données dans la table.
J'ai déjà procédé de cette manière pour modifier d'autres tables et ça marche très bien.
Donc j'ai refait un copier/coller du code en adaptant les requêtes et tout ce qu'il fallait modifier.
Seulement cette fois-ci ça ne marche pas.  :ouch:  
Les champs sont bien remplis avec les données de la table donc le paramètre GET est bien récupéré. Mais quand on modifie un champs et qu'on clique sur le bouton, les données ne sont pas enregistrées dans la BDD et le header location ne fonctionne pas. :??:  
J'en déduis donc que c'est ma requête UPDATE qui ne passe pas alors qu'elle est toute bête...
Vous trouverez sûrement très rapidement où ça bloque car ça ne doit pas être un gros problème...  :whistle:  
Je vous poste le code de la page qui modifie:
 

Code :
  1. <?php session_start(); 
  2. if (!isset($_SESSION['email'])) {
  3.    header ('Location: index.php');
  4.    exit(); 
  5. }
  6. $id_tournee = $_GET['tournee'];
  7. $base = mysql_connect ('sql.free.fr', '**********', '*********'); 
  8. mysql_select_db ('*********', $base);
  9. $sql = 'SELECT Numero, Nb_pt_liv, Pickup, Nb_km, Chauffeur, Date_liv FROM tournee_tnt WHERE ID_TNT="'.$id_tournee.'"';
  10. $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
  11. $data = mysql_fetch_array($req);
  12. $numero = htmlentities($data['Numero'], ENT_QUOTES, 'UTF-8');
  13. $nbp = htmlentities($data['Nb_pt_liv'], ENT_QUOTES, 'UTF-8');
  14. $nbr = htmlentities($data['Pickup'], ENT_QUOTES, 'UTF-8');
  15. $nbk = htmlentities($data['Nb_km'], ENT_QUOTES, 'UTF-8');
  16. $chauffeur = htmlentities($data['Chauffeur'], ENT_QUOTES, 'UTF-8');
  17. $date_liv = htmlentities($data['Date_liv'], ENT_QUOTES, 'UTF-8');
  18. if (isset($_POST['modifier']) && $_POST['modifier'] == 'Modifier') {
  19. $new_numero = mysql_real_escape_string($_POST['numero']);
  20. $new_nbp = mysql_real_escape_string($_POST['nbp']);
  21. $new_nbr = mysql_real_escape_string($_POST['nbr']);
  22. $new_nbk = mysql_real_escape_string($_POST['nbk']);
  23. $new_chauffeur = mysql_real_escape_string($_POST['chauffeur']);
  24. $new_date_liv = mysql_real_escape_string($_POST['date_liv']);
  25. if (isset($_POST['numero']) AND $_POST['numero'] !== "" )
  26.     { 
  27.      if (isset($_POST['nbp']) AND $_POST['nbp'] !== "" )
  28.        {
  29.          if (isset($_POST['nbr']) AND $_POST['nbr'] !== "" )
  30.             {   
  31.              if (isset($_POST['nbk']) AND $_POST['nbk'] !== "" )
  32.                 {
  33.     if (isset($_POST['chauffeur']) AND $_POST['chauffeur'] !== "" )
  34.     {
  35.      if (isset($_POST['date_liv']) AND $_POST['date_liv'] !== "" )
  36.      {
  37.       $base = mysql_connect ('sql.free.fr', '*********', '*********'); 
  38.       mysql_select_db ('*********', $base);
  39.       $sql ='UPDATE tournee_tnt SET
  40.       Numero ="'.$new_numero.'",
  41.       Nb_pt_liv ="'.$new_nbp.'",
  42.       Pickup ="'.$new_nbr.'",
  43.       Nb_km ="'.$new_nbk.'",
  44.       Chauffeur ="'.$new_chauffeur.'",
  45.       Date_liv ="'.$new_date_liv.'",
  46.       WHERE ID_TNT ="'.$id_tournee.'"';
  47.       $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
  48.      }
  49.     } 
  50.       }
  51.             }
  52.     }
  53. header('Location: tnt.php');exit();
  54.     }
  55. }
  56. ?>
  57. <!DOCTYPE html>
  58. <html lang="fr">
  59. <head>
  60.  <meta charset="utf-8">
  61.  <meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
  62.  <title>Gestion des feuilles de route</title>
  63.  <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
  64.  <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
  65.  <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
  66. </head>
  67. <body>
  68.  <div data-role="page">
  69.   <div data-role="header">
  70.    <a href="tnt.php" data-icon="back">Retour</a>
  71.    <h1>Gestion des feuilles de route</h1>
  72.   </div><!-- /Entete de la page -->
  73.   <div data-role="content">
  74.    <form action="modifier_tnt.php" method="post" id="modif_tnt">
  75.     <ul data-role="listview">
  76.      <li data-role="list-divider">Numéro de la tournée</li>
  77.       <li><input type="text" name="numero" id="numero" value="<?php echo $numero; ?>" /></li>
  78.      <li data-role="list-divider">Nombre de points</li>
  79.       <li><input type="text" name="nbp" id="nbp" value="<?php echo $nbp; ?>" /></li> 
  80.      <li data-role="list-divider">Nombre de ramasses</li>
  81.       <li><input type="text" name="nbr" id="nbr" value="<?php echo $nbr; ?>" /></li> 
  82.      <li data-role="list-divider">Nombre de kilomètres</li>
  83.       <li><input type="text" name="nbk" id="nbk" value="<?php echo $nbk; ?>" /></li>
  84.      <li data-role="list-divider">Chauffeur</li>
  85.       <li><input type="text" name="chauffeur" id="chauffeur" value="<?php echo $chauffeur; ?>" /></li>
  86.      <li data-role="list-divider">Date</li>
  87.       <li><input type="text" name="date_liv" id="date_liv" value="<?php echo $date_liv; ?>" /></li> 
  88.      <p><label for="modifier"></label><input type="submit" name="modifier" id="modifier" value="Modifier" data-theme="b" /></p>
  89.     </ul>
  90.    </form>
  91.   </div>
  92.   <div data-role="footer">
  93.    <h4>&copy; Aldana - Antony 2013</h4>
  94.   </div><!-- /Pied de page -->
  95.  </div>
  96.  <?php
  97.   if (isset($erreur)) echo '<br /><br />',$erreur; 
  98.  ?>
  99. </body>
  100. </html>


 
 
Je précise que j'ai placé des "echo" un peu partout entre mes "if" pour voir d'où pourrait venir l'erreur et en fait je ne rentre même pas dans le "if" qui détermine si j'ai bien appuyé sur le bouton modifier.
 
Celui ci:

Code :
  1. if (isset($_POST['modifier']) && $_POST['modifier'] == 'Modifier') {


 
Donc j'ai regardé la syntaxe de mes noms et l'orthographe mais tout est identique. Donc je ne comprends pas pourquoi je ne rentre pas dans ce "if".
 
Merci beaucoup pour votre aide  :D


Message édité par weezyf le 06-07-2013 à 10:24:33
mood
Publicité
Posté le 06-07-2013 à 09:19:18  profilanswer
 

n°2196665
Karma-desi​gn
Posté le 07-07-2013 à 06:50:12  profilanswer
 

Tu peux faire écho de la variable contenant ta requête et nous donner son contenu ?
Ça ira plus vite que de lire 100 lignes de PHP :jap:

n°2196666
weezyf
Posté le 07-07-2013 à 06:53:45  profilanswer
 

De quelle requête ?
Car si tu parles de l'UPDATE ça servirait à rien car je ne rentre pas dans la condition qui permet de l'exécuter donc rien ne s'affichera.
Et si c'est concernant la première requête (SELECT) elle fonctionne correctement car les données sont bien récupérées de la BDD pour être affichées dans les champs du formulaire.

n°2196667
Karma-desi​gn
Posté le 07-07-2013 à 07:04:46  profilanswer
 

D'accord, j'en étais resté à : "J'en déduis que c'est ma requête UPDATE qui ne marche pas".  
Donc c'est un problème de PHP, pas de SQL ? Si oui, je laisse quelqu'un d'autre te répondre :jap:

n°2196668
weezyf
Posté le 07-07-2013 à 07:11:59  profilanswer
 

Et bien pour être franc je n'en ai pas la moindre idée ^^
Oui je pense que c'est un problème de PHP car je ne rentre pas dans la requête. Je vais sagement patienter en attendant que quelqu'un me donne une piste. Merci d'avoir essayer de m'aider en tout cas :)

n°2196713
sltpaulo
Posté le 08-07-2013 à 10:33:44  profilanswer
 

Juste petite précision, toutes tes variables sont des variables $_POST, tu envoies un formulaire avec les variables $_GET, je me trompe peux être, mais fait un echo print_r($_POST,1); juste avant ta première condition pour voir ce que contient la variable.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Requête UPDATE aucun résultat

 

Sujets relatifs
calcul de cout d'une requetecreationd'une requete avec hibernate
Interprêter résultat wget[MySQL] - Requête SQL sur plusieurs tables
[VBA Excel 2002] Formater le résultat d'une fonction persoRequete pour afficher le nom en fonction de l'ip
Requete avec un group by ?Requête d'insertion multi base
Requete croisée entre plusieurs tableaux (comme dans une DB)Faire la moyenne des données d'une colonne récupérées avec une requete
Plus de sujets relatifs à : Requête UPDATE aucun résultat


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR