Posez votre question Signaler

Php+sql:requete update

G4uthier 92Messages postés 2 décembre 2007Date d'inscription - Dernière réponse le 15 févr. 2008 à 17:46
Bonjour,
voila mon code, ma requête update ne fonctionne pas : il doit y avoir une erreur avec les guillemets mais je trouve pas. :'(
voici mon code :
if(isset($_GET['modif'])){
$id_news_a_modif=$_GET['modif'];
$requete = mysql_query("SELECT * FROM news WHERE id='$id_news_a_modif'");// on recupère la news pour l 'afficher dans le formulaire
$enregistrement=mysql_fetch_array($requete);
$titre=$enregistrement['titre'];
$contenu=$enregistrement['contenu'];
if(isset($_POST['modifier'])){
$titre=$_POST['titre'];
$contenu=$_POST['contenu'];
//on met à jour la news dans la table
$modification=mysql_query("UPDATE news SET titre='$titre', contenu='$contenu' WHERE id='$id_news_a_modif'");
}
// ce formulaire sert à la modification
echo"<form method='post' action='{$_SERVER['PHP_SELF']}'>
<h2>Ajout d'une news</h2>
<em>entrez le titre de votre news: </em><input type='text' name='titre' size='50' value=$titre><br><br>
<em>entrez le contenu de votre news: </em><p><textarea name='contenu' cols='80' rows='16'>";
echo $contenu;//on affiche le contenu à modifier
echo"
</textarea></p>
<input type='submit' class='button' name='modifier' value='Modifier la news'>
</form>";
merci :)
Lire la suite 

Php+sql:requete update »

8 réponses
Réponse
+1
moins plus
essaie :

$modification=mysql_query('UPDATE news SET titre=" ' .$titre.'", contenu=" '.$contenu.' " WHERE id=" '.$id_news_a_modif.' " ');
Ajouter un commentaire
Réponse
+0
moins plus
oui je crosi que c'est ca mais c'est mon algo qui doit pas fonctionner mon second isset n'est jamais activé je crois.
Quelqu un a une solution?
Ajouter un commentaire
Réponse
+0
moins plus
if(isset($_GET['modif'])) {

c'est volontaire de ne pas fermer l'acolade?
Ajouter un commentaire
Réponse
+0
moins plus
oui c est un bout du code voici le code complet:

<?php
include("configuration_sql.php");
// on regarde si l'on veut modifier la news(grace à l'URL)
if(isset($_GET['modif'])){
$id_news_a_modif=$_GET['modif'];
$requete = mysql_query("SELECT * FROM news WHERE id='$id_news_a_modif'");// on recupère la news pour l 'afficher dans le formulaire
$enregistrement=mysql_fetch_array($requete);
$titre=$enregistrement['titre'];
$contenu=$enregistrement['contenu'];


if(isset($_POST['modifier'])){
echo"dzjsbjclkscnsnvjknwj";
$titre=$_POST['titre'];
$contenu=$_POST['contenu'];
echo $contenu;
//on met à jour la news dans la table
$modification=mysql_query('UPDATE news SET titre=" ' .$titre.'", contenu=" '.$contenu.' " WHERE id=" '.$id_news_a_modif.' " ');
}

// ce formulaire sert à la modification
echo"<form method='post' action='{$_SERVER['PHP_SELF']}'>
<h2>Ajout d'une news</h2>
<em>entrez le titre de votre news: </em><input type='text' name='titre' size='50' value=$titre><br><br>
<em>entrez le contenu de votre news: </em><p><textarea name='contenu' cols='80' rows='16'>";
echo $contenu;//on affiche le contenu à modifier
echo"
</textarea></p>
<input type='submit' class='button' name='modifier' value='Modifier la news'>
</form>";


echo"<a href=zone_admin.php>Retour au menu administration</a>";

}else{
//sinon on veut l'ajouter
if(isset($_POST['ajout'])){
$date=time();
$titre=$_POST['titre'];
$contenu=$_POST['contenu'];
$requete = mysql_query("insert into news values('','". $titre . "','". $contenu . "','" . $date . "')");


}
// ce formulaire sert à l'ajout
echo"<form method='post' action='{$_SERVER['PHP_SELF']}'>
<h2>Ajout d'une news</h2>
<em>entrez le titre de votre news: </em><input type='text' name='titre' size='50'><br><br>
<em>entrez le contenu de votre news: </em><p><textarea name='contenu' cols='80' rows='16'></textarea></p>
<input type='submit' class='button' name='ajout' value='Ajouter la news'>
</form>";

echo"<a href=zone_admin.php>Retour au menu administration</a>";
}
?>
Ajouter un commentaire
Réponse
+0
moins plus
essaies ca :
<?php
include("configuration_sql.php");
// on regarde si l'on veut modifier la news(grace à l'URL)
if(isset($_GET['modif']))
{
$id_news_a_modif=$_GET['modif'];
$requete = mysql_query('SELECT * FROM news WHERE id="'.$id_news_a_modif.'"');// on recupère la news pour l 'afficher dans le formulaire
$enregistrement=mysql_fetch_array($requete);
$titre=$enregistrement['titre'];
$contenu=$enregistrement['contenu'];


if(isset($_POST['modifier'])){
echo"dzjsbjclkscnsnvjknwj";
$titre=$_POST['titre'];
$contenu=$_POST['contenu'];
echo $contenu;
//on met à jour la news dans la table
$modification=mysql_query('UPDATE news SET titre="'.$titre.'", contenu="'.$contenu.'" WHERE id="'.$id_news_a_modif.'"');
}

// ce formulaire sert à la modification
echo"<form method='post' action='{$_SERVER['PHP_SELF']}'>
<h2>Ajout d'une news</h2>
<em>entrez le titre de votre news: </em><input type='text' name='titre' size='50' value=$titre><br><br>
<em>entrez le contenu de votre news: </em><p><textarea name='contenu' cols='80' rows='16'>";
echo $contenu;//on affiche le contenu à modifier
echo"
</textarea></p>
<input type='submit' class='button' name='modifier' value='Modifier la news'>
</form>";


echo"<a href=zone_admin.php>Retour au menu administration</a>";

}
else
{
//sinon on veut l'ajouter
$date=time();
$titre=$_POST['titre'];
$contenu=$_POST['contenu'];
$requete = mysql_query("insert into news values('','". $titre . "','". $contenu . "','" . $date . "')");

// ce formulaire sert à l'ajout
echo"<form method='post' action='{$_SERVER['PHP_SELF']}'>
<h2>Ajout d'une news</h2>
<em>entrez le titre de votre news: </em><input type='text' name='titre' size='50'><br><br>
<em>entrez le contenu de votre news: </em><p><textarea name='contenu' cols='80' rows='16'></textarea></p>
<input type='submit' class='button' name='ajout' value='Ajouter la news'>
</form>";

echo"<a href=zone_admin.php>Retour au menu administration</a>";
}
?>
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour

Ton second isset n'est pas activé parcequ'il est à l'intérieur du premier : il te manque une }

Tes guillemets sonts corrects SAUF que comme 99% des gens tu ne protèges pas tes champs contres les apostrophes. Les gens ont le droit de mettre de ' et des " dans tes news, et là ta requête échouera à coup sûr :

$modification=mysql_query("UPDATE news SET titre=''.mysql_real_escape_string($titre)."', contenu='".mysql_real_escape_string($contenu)."' WHERE id='".mysql_real_escape_string($id_news_a_modif)."'");
Ajouter un commentaire
Réponse
+0
moins plus
Normalement j'ai modifié le problème de l'accolade...
Il ne te reste plus qu'à suivre les conseils du père ;)
a+
Ajouter un commentaire
Réponse
+0
moins plus
je vais regardé ca demain à tête reposé merci pour vos conseils . j'arrete pour ce soir
Ajouter un commentaire
Ce document intitulé « php+sql:requete update » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Les pires photos de famille
  • Les pires photos de famille

    Mises en scène étranges, coiffures démodées ou poses incongrues... Découvrez les pires photos de famille du site américain Awkward Family.