MrKoala69
Messages postés9Date d'inscriptionmercredi 25 janvier 2012StatutMembreDernière intervention 3 février 2013
-
12 juin 2012 à 15:40
MrKoala69
Messages postés9Date d'inscriptionmercredi 25 janvier 2012StatutMembreDerniè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.
cokoboye
Messages postés40Date d'inscriptionmardi 15 mai 2012StatutMembreDernière intervention11 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');
MrKoala69
Messages postés9Date d'inscriptionmercredi 25 janvier 2012StatutMembreDerniè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.