Rechercher : dans
Par :

Php+sql:requete update

Dernière réponse le 15 fév 2008 à 17:46:30 G4uthier, le 15 fév 2008 à 16:59:51 
 Signaler ce message aux modérateurs

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 :)

Configuration: Windows XP
Firefox 2.0.0.12

Meilleures réponses pour « php+sql:requete update » dans :
SQL - Tri VoirTri des résultats Il est possible en SQL d'organiser les résultats grâce à la clause ORDER BY. La clause ORDER BY est suivie des mots clés ASC ou DESC, qui précisent respectivement si le tri se fait de manière croissante (par défaut) ou...
SQL - Jointures VoirExpression des jointures Une jointure (ou θ-jointure) est un produit cartésien de deux tables. On appelle équijointure une θ-jointure dont la qualification est une égalité entre deux colonnes. En SQL, l'expression d'une jointure se...

1

ashelia, le 15 fév 2008 à 17:24:05
  • +1

Essaie :

$modification=mysql_query('UPDATE news SET titre=" ' .$titre.'", contenu=" '.$contenu.' " WHERE id=" '.$id_news_a_modif.' " ');

Répondre à ashelia

2

G4uthier, le 15 fév 2008 à 17:32:16

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?

Répondre à G4uthier

3

ashelia, le 15 fév 2008 à 17:34:10

If(isset($_GET['modif'])) {

c'est volontaire de ne pas fermer l'acolade?

Répondre à ashelia

4

G4uthier, le 15 fév 2008 à 17:35:50

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>";
}
?>

Répondre à G4uthier

5

ashelia, le 15 fév 2008 à 17:41:20

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>";
}
?>

Répondre à ashelia

6

le père, le 15 fév 2008 à 17:42:26

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)."'");

Répondre à le père

7

ashelia, le 15 fév 2008 à 17:43:59

Normalement j'ai modifié le problème de l'accolade...
Il ne te reste plus qu'à suivre les conseils du père ;)
a+

Répondre à ashelia

8

 G4uthier, le 15 fév 2008 à 17:46:30

Je vais regardé ca demain à tête reposé merci pour vos conseils . j'arrete pour ce soir

Répondre à G4uthier