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

BusyElephant Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
BusyElephant Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
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 !

A voir également:

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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
BusyElephant Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
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
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

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
BusyElephant Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
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
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > BusyElephant Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Sans voir LE CODE QUE TU UTILISES POUR AFFICHER ... IMPOSSIBLE DE TE REPONDRE.
0
BusyElephant Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
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
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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
BusyElephant Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
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
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > BusyElephant Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
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
BusyElephant Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Oui, les données sont mises à jour. C'est bien ce qui me pose problème :)
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > BusyElephant Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
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