Mise à jour de la base de données et update en MySQL pas valide

BusyElephant Messages postés 11 Statut Membre -  
BusyElephant Messages postés 11 Statut Membre -
Bonjour,

Alors voilà j'ai une base de données, et une petite interface sur mon site me permettant de rajouter ou de modifier des articles, qui s'intègrent donc dans cette base de données.
Seulement quand je veux modifier un article, j'ai une fonction qui devrait mettre à jour les informations sur l'interface et sur le site mais elle ne fonctionne que sur l'interface...

voici la portion de code en question qui ne fonctionne pas:

echo("UPDATE articles set titre='$titre', short='$short', chapeau='$chapeau', article='$article', video='$video' WHERE id='$id'");

mysql_query("UPDATE articles set titre='$titre', short='$short', chapeau='$chapeau', article='$article', video='$video' WHERE id='$id'");


Si vous avez des idées ou indications, je prend !

2 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,

    1 - Tu utilises l'ancienne extension mysql.....
    Merci de lire ceci : https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

    Puis de passer à PDO ou à mysqli

    2 - Si tu fais un echo de ta requête :
    "UPDATE articles set titre='$titre', short='$short', chapeau='$chapeau', article='$article', video='$video' WHERE id='$id'"
    

    Qu'est-ce que ça t'affiche ?
    => Si tu testes ta requête DIRECTEMENT dans ta BDD ... est-ce qu'elle fonctionne ?

    En PDO tu peux utiliser des blocs TRY/CATCH pour intercepter les erreurs de requêtes...
    En Mysqli tu as la possibilité d'utiliser mysqli_error
    (Et avec l'ancienne extension mysql... mysql_error )

    0
    1. BusyElephant Messages postés 11 Statut Membre
       
      En fait, mon problème est que les données dans ma base de données vont changer; mais quand je retourne dans ton formulaire de modif j'ai les anciennes valeurs qui s'affichent.
      Les changement s'opèrent sur la bdd lors de la modification d'articles, mais pas sur la page de modification, ce qui fait que si je veux modifier deux fois un article, la deuxième fois je retomberais sur des values obsolètes
      J'espere être clair :)

      et tu dis que l'extention mysql est dépassée, seulement mon site tourne entièrement avec ce langage et je n'ai pas de souci (mis à part celui auquel je suis confronté aujourd'hui). Pourquoi changer ?

      Merci de ta réponse, en tout cas :)
      0
    2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       

      Les changement s'opèrent sur la bdd lors de la modification d'articles, mais pas sur la page de modification, ce qui fait que si je veux modifier deux fois un article, la deuxième fois je retomberais sur des values obsolètes
      J'espere être clair :)

      Donc si les données en BDD se mettent bien à jour... le souci ne se trouve pas dans le code que tu nous montres.... mais plutôt dans la page qui affiche ces informations ... non ??!
      0
    3. BusyElephant Messages postés 11 Statut Membre
       
      On est d'accord. Mais l'affichage de ces informations se fait via des value qui sont récupérées sur une base de données qui est, elle, juste. Étrange non ?
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832 > BusyElephant Messages postés 11 Statut Membre
         
        Sans voir LE CODE QUE TU UTILISES POUR AFFICHER ... IMPOSSIBLE DE TE REPONDRE.
        0
  2. BusyElephant Messages postés 11 Statut Membre
     
    Le code n'est pas fou à voir, mais si tu veux je peux le linker :)
    je te passe la connexion a la BDD

    <form style="margin: 0 auto; width:50%" action="admin-mod-article.php">
    
    <?
    require("../config/config.inc.php");
    $db = mysql_connect("$dbhost", "$dblogin", "$dbpass") OR DIE("Base de données inaccessible.");
    mysql_select_db("$dbbase",$db) OR DIE("Base de données inaccessible.");
    
    $req_cars = mysql_query("SELECT * FROM articles ORDER BY id DESC");
    $res_societe = mysql_num_rows($req_cars);
    
    echo "<SELECT class=\"form-control center-block\" name=\"id\">";
     for($i=0 ; $i < $res_societe; $i++) {
       $id = mysql_result($req_cars,$i,"id");
       $titre = mysql_result($req_cars,$i,"titre");
                $date  = mysql_result($req_cars,$i,"date");
       $short = mysql_result($req_cars,$i,"short");
       $chapeau = mysql_result($req_cars,$i,"chapeau");
       $article = mysql_result($req_cars,$i,"article");
       $img1 = mysql_result($req_cars,$i,"img1");
                $img2   = mysql_result($req_cars,$i,"img2");
                $img3   = mysql_result($req_cars,$i,"img3");
                $img4   = mysql_result($req_cars,$i,"img4");
                $img5   = mysql_result($req_cars,$i,"img5");
                $img6   = mysql_result($req_cars,$i,"img6");
                $img7   = mysql_result($req_cars,$i,"img7");
                $img8   = mysql_result($req_cars,$i,"img8");
                $img9   = mysql_result($req_cars,$i,"img9");
                $img10   = mysql_result($req_cars,$i,"img10");
       $video = mysql_result($req_cars,$i,"video");
    
       echo "<OPTION value=\"$id\">$id - $titre - $date</OPTION>";
     }
    ?>
    </SELECT> 
    <br><input type="submit" class="btn btn-primary center-block" value="Modifier cet article">
    </form>
    
    <hr>
      <?
    $id = $_GET['id'];
    
    if ($id!=""){
     $req_cars = mysql_query("SELECT * FROM articles WHERE id=$id");
       $id  = mysql_result($req_cars,0,"id");
                $titre  = mysql_result($req_cars,0,"titre");
                $date  = mysql_result($req_cars,0,"date");
                $short  = mysql_result($req_cars,0,"short");
                $chapeau    = mysql_result($req_cars,0,"chapeau");
                $article    = mysql_result($req_cars,0,"article");
                $img1   = mysql_result($req_cars,0,"img1");
                $img2   = mysql_result($req_cars,0,"img2");
                $img3   = mysql_result($req_cars,0,"img3");
                $img4   = mysql_result($req_cars,0,"img4");
                $img5   = mysql_result($req_cars,0,"img5");
                $img6   = mysql_result($req_cars,0,"img6");
                $img7   = mysql_result($req_cars,0,"img7");
                $img8   = mysql_result($req_cars,0,"img8");
                $img9   = mysql_result($req_cars,0,"img9");
                $img10   = mysql_result($req_cars,0,"img10");
                $video  = mysql_result($req_cars,0,"video");
    
    ?>
    
    <form action="admin-mod-article2.php" method="post" name="form" enctype="multipart/form-data">
    
            <p><strong>ID</strong>* : <? echo $id; ?></p>
    
            <p><strong>Date </strong>* : <? echo $date; ?></p>
            
            <fieldset class="form-group">
            <label for="titre">titre :</label>
            <input type="text" class="form-control" name="titre" id="titre" value="<? echo $titre; ?>" placeholder="titre" size="20" maxlength="255">
            </fieldset>
    
            <fieldset class="form-group">
        <label for="short">Résumé :</label>
         <textarea name="short" rows="3" class="form-control" ><? echo $short; ?></textarea>
        </fieldset>
    
        <fieldset class="form-group">
        <label for="chapeau">Chapeau :</label>
         <textarea name="chapeau" rows="5" class="form-control" ><? echo $chapeau; ?></textarea>
        </fieldset>
    
        <fieldset class="form-group">
        <label for="article">Article :</label>
         <textarea name="article" rows="35" class="form-control" ><? $article=str_replace('<br />', '', $article); echo $article; ?></textarea>
        </fieldset>
    
        <fieldset class="form-group">
                <label for="img1">img1 </label>
                  <? if ($img1!="") { ?> <img src="<? echo $img1; ?>" class="img-responsive imgstaff"><br>  <? } ?>photo 1  
                   <input type="file" class="form-control-file" name="img[]" value="<? echo $img1; ?>" />
                <br /><br />
                <label for="img2">img2</label>
                  <? if ($img2!="") { ?> <img src="<? echo $img2; ?>" class="img-responsive imgstaff"><br>  <? } ?>photo 2  
                   <input type="file" class="form-control-file" name="img[]" value="<? echo $img2; ?>" />
                <br /><br />
                <label for="img3">img3</label>
                  <? if ($img3!="") { ?> <img src="<? echo $img3; ?>" class="img-responsive imgstaff"><br>  <? } ?>photo 3 
                   <input type="file" class="form-control-file" name="img[]" value="<? echo $img3; ?>" />
                <br /><br />
                <label for="img4">img 4</label>
                  <? if ($img4!="") { ?> <img src="<? echo $img4; ?>" class="img-responsive imgstaff"><br>  <? } ?>photo 4 
                   <input type="file" class="form-control-file" name="img[]" value="<? echo $img4; ?>" />
                <br /><br />
                 <label for="img5">img5</label>
                  <? if ($img5!="") { ?> <img src="<? echo $img5; ?>" class="img-responsive imgstaff"><br>  <? } ?>photo 5
                   <input type="file" class="form-control-file" name="img[]" value="<? echo $img5; ?>" />
                <br /><br />
                <label for="img6">img6</label>
                  <? if ($img6!="") { ?> <img src="<? echo $img6; ?>" class="img-responsive imgstaff"><br>  <? } ?>photo 6 
                   <input type="file" class="form-control-file" name="img[]" value="<? echo $img6; ?>" />
                <br /><br />
                   <label for="img7">img7</label>
                  <? if ($img7!="") { ?> <img src="<? echo $img7; ?>" class="img-responsive imgstaff"><br>  <? } ?>photo 7
                   <input type="file" class="form-control-file" name="img[]" value="<? echo $img7; ?>" />
                <br /><br />
                   <label for="img8">img8</label>
                  <? if ($img8!="") { ?> <img src="<? echo $img8; ?>" class="img-responsive imgstaff"><br>  <? } ?>photo 8
                   <input type="file" class="form-control-file" name="img[]" value="<? echo $img8; ?>" />
                <br /><br />
                   <label for="img9">img9</label>
                  <? if ($img9!="") { ?> <img src="<? echo $img9; ?>" class="img-responsive imgstaff"><br>  <? } ?>photo 9
                   <input type="file" class="form-control-file" name="img[]" value="<? echo $img9; ?>" />
                <br /><br />
                   <label for="img10">img10</label>
                  <? if ($img10!="") { ?> <img src="<? echo $img10; ?>" class="img-responsive imgstaff"><br>  <? } ?>photo 10
                   <input type="file" class="form-control-file" name="img[]" value="<? echo $img10; ?>" />
               </fieldset>
    
            
      <p>
        <input name="go" type="hidden" value="1">
        <input type="hidden" name="MAX_FILE_SIZE" value="500000">
        <input name="id" type="hidden" value="<? echo $id; ?>">
        <? echo "id n° : " .$id; ?>
        <br>
        <input name="maj" class="btn btn-primary center-block" type="submit" value="Modifier cet article">
      </p>
    </form>
    


    EDIT : Ajout des balises de code (la coloration syntaxique).
    Explications disponibles ici :ICI

    Merci d'y penser dans tes prochains messages.
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Donc reprenons...

      1 - Tu fais une maj via ta page web . via le fichier admin-mod-article2.php
      En BDD les données se mettent à jour ?

      2 - Tu réaffiches la page contenant les infos ... donc normalement, via les requêtes SELECT ... ça doit normalement afficher les données issues de la BDD ... c'est ça qui ne fonctionne pas ?
      0
    2. BusyElephant Messages postés 11 Statut Membre
       
      Exactement. Les données issues de la BDD ne sont pas effectivement celles de la BDD mais sont celles de la création de l'article.

      Exemple:
      - je fais un article dont le titre est "article 1"
      - je modifie en "article 2"
      - si je veux remodifier, je vais avoir d'affiché dans ma value "article 1"

      même si je fais un f5 ou ctrl+f5, ce qui m’amène a dire que ça ne vient pas du cache mais bien d'un souci dans le code.

      Merci à toi de prendre le temps de répondre en tout cas !
      0
    3. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832 > BusyElephant Messages postés 11 Statut Membre
       
      Désolé .. mais j'ai du mal à comprendre...

      Lorsque tu fais un maj via ton site web des données d'un article (donc via ton script admin-mod-article2.php ) .. est-ce que les données en BDD sont mises à jour ???
      Réponse : Oui ou NON ....

      Si la réponse est NON ... merci de nous montrer le code complet de ta page admin-mod-article2.php
      0
    4. BusyElephant Messages postés 11 Statut Membre
       
      Oui, les données sont mises à jour. C'est bien ce qui me pose problème :)
      0
    5. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832 > BusyElephant Messages postés 11 Statut Membre
       
      et l'ID est bien le même ?

      Si toi, directement dans ta BDD tu fais la requête suivante :
      SELECT * FROM articles WHERE id=$id
      

      en remplaçant l'ID par la valeur que tu devrais avoir ... tu as quoi ? les anciennes données ou les nouvelles ?
      0