News

tomm123456 Messages postés 52 Date d'inscription jeudi 8 décembre 2005 Statut Membre Dernière intervention 11 avril 2007 - 25 déc. 2005 à 17:38
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015 - 25 déc. 2005 à 23:24
bonjour et joyeuses fetes .



voilà j'ai un probleme de mise à jour de news .Quand je veux modifier une news ,



il me renvoie bien les valeurs des champs mais quand quand j'envoie
dans le formulaire , il ne modifie rien : il laisse les valeurs d'avant
.Par contre , le formulaire marche pour de nouvelles donées


Code : PHP

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Document sans titre</title>

<link href="../style.css" rel="stylesheet" type="text/css" />

</head>



"center">mysql_select_db($database_conn, $conn);

//-----------------------------------------------------

// Vérification 1 : est-ce qu'on veut poster une news ?

//-----------------------------------------------------



if (isset($_POST['titre']) and isset($_POST['contenu']))

{

$titre = $_POST['titre'];

$contenu = $_POST['contenu'];

$date = $_POST['date'];

$lien = $_POST['lien'];

$url = $_POST['url'];





// On vérifie si c'est une modification de news ou pas

if ($_POST['id_news'] == 0)

{

// Ce n'est pas une modification, on crée une nouvelle entrée dans la table

mysql_query

("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . $date . "', '" . $lien . "', '" . $url . "')");

}

else

{

// C'est une modification, on met juste à jour le titre et le contenu

mysql_query("UPDATE news SET titre=$titre, contenu=$contenu,date=$date ,lien= $lien ,url= $url WHERE id=" . $_POST['id_news']);

}

}





//--------------------------------------------------------

// Vérification 2 : est-ce qu'on veut supprimer une news ?

//--------------------------------------------------------



if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news

{

// Alors on supprime la news correspondante

mysql_query('DELETE FROM news WHERE id=' . $_GET['supprimer_news']);

}

?>



\"center\">

----

class="bordureTD" >Modifier,

class="bordureTD">Supprimer,

class="bordureTD">Titre,

class="bordureTD">Date,

<?php

$retour = mysql_select_db($database_conn, $conn);

if (isset($_GET['modifier_news'])) // Si on demande de modifier une news

{

// On récupère les infos de la correspondante

$retour = mysql_query('SELECT * FROM news WHERE id=' . $_GET['modifier_news']);

$donnees = mysql_fetch_array($retour);



// On place le titre et le contenu dans des variables simples

$titre = $donnees['titre'];

$contenu = $donnees['contenu'];

$id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification

$date = $donnees['date'];

$lien = $donnees['lien'];

$url = $donnees['url'];



}

else // C'est qu'on rédige une nouvelle news

{

// Les variables $titre et $contenu sont vides, puisque c'est une nouvelle news

$titre = '';

$contenu = '';

$id_news = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification

$date = '';

$lien = '';

$url = '';

}?>

<html>

<head>

<title>Ajout de news</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<link href="../style.css" rel="stylesheet" type="text/css">



</head>





"center">"liste_news.php">"4" face="Arial">Retour à la liste des news"4" face="Arial">



"center" class="titre">Ajouter une news


<form action="liste_news.php" method="post">\"center\">

----
\"baseline\">

"right">Titre :,

"text" name="titre" value="<?php echo $titre; ?>" size="100">,

----
\"baseline\">

"right" valign="top">Contenu :,

<textarea name="contenu" cols="70" rows="20"><?php echo $contenu; ?></textarea>,

----
\"baseline\">

"right">Date :,

"text" name="date" value="<?php echo date("d/m/Y");?>" size="32">,

----
\"baseline\">

"right" height="22">"line-height:100%; margin-top:0; margin-bottom:0;">nom du Lien :

class="contenu" style="line-height:100%; margin-top:0; margin-bottom:0;" align="left">(exemple: Voir&nbsp;site&nbsp;de&nbsp;Jogger&nbsp;...),

"22">"text" name="lien" value="<?php echo $lien; ?>" size="100">,

----
\"baseline\">

"45" align="right" nowrap>"right" style="line-height:100%; margin-top:0; margin-bottom:0;">Lien

class="contenu" style="line-height:100%; margin-top:0; margin-bottom:0;" align="right">(exemple: http://www.wanadoo.fr),

"339" height="45" align="right" nowrap>"text" name="url" value="<?php echo $url; ?>" size="100">,

----
\"baseline\">

"2" align="right" nowrap>
"center">

"hidden" name="id_news" value="<?php echo $id_news; ?>" />

"submit" type="submit" value="Envoyer">
</form>





</html>









Merci

3 réponses

kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
25 déc. 2005 à 22:59
salut...



Met



error_reporting(E_ALL);



en début de script et



or die('Error : '.mysql_error().' on line '.__LINE__);


après chaque requete sql... genre...



http://www.php.net/mysql_querymysql_query('SELECT * FROM news WHERE id=' . $_GET['modifier_news']) or die('Error : '.mysql_error().' on line '.__LINE__);



ca sera plus rapide pour voir ce qui peut clocher... .. .



@ tchaOo°





l'homme est un loup pour l'homme... .. .
0
flor003 Messages postés 118 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 19 juin 2007
25 déc. 2005 à 23:14
salut



Ouais et utilise de préférence toujours la syntaxe parce que la on s'y perd.

mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . $date . "', '" . $lien . "', '" . $url . "')");

}

else

{

// C'est une modification, on met juste à jour le titre et le contenu

mysql_query("UPDATE news SET titre=$titre, contenu=$contenu,date=$date ,lien= $lien ,url= $url WHERE id=" . $_POST['id_news']);



met plutot :

mysql_query ("INSERT INTO news VALUES('','$titre','$contenu','$date','$lien','$url')");

}

else

{

// C'est une modification, on met juste à jour le titre et le contenu

mysql_query("UPDATE news SET titre='$titre', contenu='$contenu',date='$date' ,lien= '$lien' ,url= '$url' WHERE id=" . $_POST['id_news']);



ca va surement pas resoudre ton probleme mais tu y verra plus clair.

a++
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
25 déc. 2005 à 23:24
Oui il est aussi possible que tu est un problème dans tes requetes à
cause des quotes... essaye de passer chaque requete via phpmyadmin et
tu vois si ça passe ou pas... .. .



@ tchaOo°


l'homme est un loup pour l'homme... .. .
0
Rejoignez-nous