Update à l'aide d'un formulaire

MrKoala69 Messages postés 9 Date d'inscription mercredi 25 janvier 2012 Statut Membre Dernière intervention 3 février 2013 - 12 juin 2012 à 15:40
MrKoala69 Messages postés 9 Date d'inscription mercredi 25 janvier 2012 Statut Membre Dernière intervention 3 février 2013 - 20 juin 2012 à 15:24
Bonjour à tous et à toute.

Je suis en première année de BTS Informatique et j'ai un projet de site web à rendre.

Le site fonctionne bien, hormis un bout assez important.

Dans ma partie administration je souhaite pouvoir modifier mes news ou mes conseils en fonction de l'id de cette dernière. Bon jusque là rien de bien méchant.

Sauf que, j'aimerais que lorsque je choisi une news (ou un conseil) par l'intermédiaire d'une liste déroulante avec les id, les données de ma news inséré dans ma BDD soient affiché dans le formulaire.

Ceci fonctionnait mais plus moyen de faire fonctionner mon UPDATE.

Actuellement je suis confronté au soucis que même sans l'affichage dans le formulaire, mon UPDATE ne fonctionne plus. En réalité il fonctionne, c’est juste que ma requête utilise un WHERE id='$choixid' et je pense que la variable $choixid n'est pas accessible. Donc il n'update rien.

Voilà, je vous fournis mes deux pages qui concernent cette partie.

Page avec les formulaires :
<?php 
if(isset($_POST['choix']))      $idcategorie=$_POST['choix'];
else      $idcategorie="";

?>




<form method="post">
Aprésent sélectionner le numéro de la news ou du conseil à modifier.


Lequel souhaitez vous modifier : <select name="choixid">
<?php 
 
//Connection à la base de données
$db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());
// sélection de la base  

    mysql_select_db('pharmacie',$db)  or die('Erreur de selection '.mysql_error()); 
 
//On récupère les valeurs entrées par l'utilisateur :

$sql = "SELECT id from contenu WHERE idcategorie='$idcategorie'"; 
$result = mysql_query($sql) or die("Erreur dans la requête SQL"); 

while ($row=mysql_fetch_array($result)) 
{ 
 echo("<option value='");
 echo($row['id']);
 echo ("'>");
 echo ($row['id']);
 echo("</option>");	
} 
?>



</form>




<form action="modifier.php" method="post">
Modifications :


 

Contenu :
<textarea type="text" name="contenu" cols="60" rows="20">3</textarea>


</select>
</form>


<?php
if(isset($_POST['choixid'])){
?>
<script>
document.getElementById('formmodif2').hidden = false;
</script>
<?php
}
else
{
?>
<script>
document.getElementById('formmodif2').hidden = true;
</script>
<?php
}
?>


Page avec ma requête SQL UPDATE:
<?php 
// On commence par récupérer les champs 
if(isset($_POST['id']))      $id=$_POST['id'];
else      $id="";

if(isset($_POST['titre']))      $titre=$_POST['titre'];
else      $titre="";

if(isset($_POST['date']))      $date=$_POST['date'];
else      $date="";

if(isset($_POST['contenu']))      $contenu=$_POST['contenu'];
else      $contenu="";

if(isset($_POST['choix']))      $idcategorie=$_POST['choix'];
else      $idcategorie="";

if(isset($_POST['choixid']))      $choixid=$_POST['choixid'];
else      $choixid="";


       // connexion à la base
$db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());
// sélection de la base  

    mysql_select_db('pharmacie',$db)  or die('Erreur de selection '.mysql_error()); 
 
    // on écrit la requête sql 
    $sql = "UPDATE contenu SET titre='$titre',date='$date',contenu='$contenu' WHERE id='$choixid'"; 
    
    // on insère les informations du formulaire dans la table 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error()); 

    // on affiche le résultat pour le visiteur 
    echo 'Vos infos on été modifés.';	
?> 
[index.php Page d'accueil]
<?php

    mysql_close();  // on ferme la connexion 
    
?>


Merci d'avance et en espérant que quelqu'un m'aide à résoudre mon soucis.

4 réponses

cokoboye Messages postés 40 Date d'inscription mardi 15 mai 2012 Statut Membre Dernière intervention 11 septembre 2012
20 juin 2012 à 11:34
salut MrKoala69,

je suis aussi en premiere année de bts donc je ne suis pas tout à fait sûr de moi mais je ne connais pas cette forme de requête...as tu essayer UPDATE INTO maTable (maColone1, maColone2) VALUES ('maValeurColonne1','maValeurColone2');
0
MrKoala69 Messages postés 9 Date d'inscription mercredi 25 janvier 2012 Statut Membre Dernière intervention 3 février 2013
20 juin 2012 à 14:52
Salut,
En fait j'ai résolu mon soucis en envoyant a travers un input masqué ma variable "$choixid" que j'ai ensuite récupéré dans ma page de modif avec un POST.

Merci à toi quand même pour avoir répondu :)
0
cokoboye Messages postés 40 Date d'inscription mardi 15 mai 2012 Statut Membre Dernière intervention 11 septembre 2012
20 juin 2012 à 14:54
ya pas de quoi bonne continuation
0
MrKoala69 Messages postés 9 Date d'inscription mercredi 25 janvier 2012 Statut Membre Dernière intervention 3 février 2013
20 juin 2012 à 15:24
Merci toi aussi :)
0
Rejoignez-nous