Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides. FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans. Proposez vos news : si vous avez un evenement à annoncer le chat : venez discuter de php. |
||
bonjour,
voilà je cherche à faire une boucle pour afficher les news rentrée par un visiteur et uniquement les siennes, alors j'ais essayé de récupérer son nom d'auteur qui arrivent du fromulaire précédent, mais je suis tellement mauvais que j'ai ce vilain message qui reviens :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in e:cuisine v2liste_news_internot.php on line 74
alors je vous montre le code, et si quelqu'un peut m'indiqur l'erreur que je fait je serais ravi.
//-----------------------------------------------------
// Vérification 1 : poster une news ?
//-----------------------------------------------------
if (isset($_POST['titre']) AND isset($_POST['contenu']) AND isset($_POST['auteur']))
{
$titre = addslashes($_POST['titre']);
$contenu = addslashes($_POST['contenu']);
$auteur = addslashes($_POST['auteur']);
// On vérifie modification de news ou pas
if ($_POST['id_news'] == 0)
{
// pas une modification, crée nouvelle entrée table
mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . $auteur . "', '" . time() . "','0')");
}
else
{
// modification, mettre à jour titre et contenu
mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "', valide=0 WHERE id=" . $_POST['id_news']);
}
}
//--------------------------------------------------------
// Vérification 2 : supprimer une news ?
//--------------------------------------------------------
if (isset($_GET['supprimer_news'])) // Si demande supprimer une news
{
// supprime la news correspondante
mysql_query('DELETE FROM news WHERE id=' . $_GET['supprimer_news']);
}
?>
<table><tr>
<th>auteur</th>
<th>Titre</th>
<th>contenu</th>
<th>Modifier</th>
<th>Supprimer</th>
<th>Date</th>
</tr>
<?
$retour = mysql_query("SELECT * FROM news WHERE auteur=" . $_POST['auteur']);
while ($donnees = mysql_fetch_array($retour)) // boucle pour lister news
{
?>
<tr>
<td><? echo ($donnees['auteur']); ?></td>
<td><? echo stripslashes($donnees['titre']); ?></td>
<td><? echo ($donnees['contenu']); ?></td>
<td><? echo '<a href="rediger_news_internot.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
<td><? echo '<a href="liste_news_internot.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
<td><? echo date('d/m/Y à Hhi', $donnees['timestamp']); ?></td>
</tr><br>
<?
} // Fin boucle qui liste les news
?>
<h5><? echo ($donnees['auteur']); ?>votre news as bien été enregistrée, vous serez prévenus de sa mise en ligne par le webmaster</h5>
</body>
</html>merci d'avance
Hors ligne
bien j'ai fait or die(mysql_error()) et ben pas plus
alors je cherche, mais je croit que ca viens de ma façon de rappeler le nom de l'auteur dans ma query, je cherche à le récuperer par $_POST, l'aurais je mal ortographié ????
Hors ligne
ben en fait, perso, j'évite de mettre mes variables GET et PORT dans les requêtes car elles contiennent des '
Je les passe donc dans une autre variable :
$auteur = $_POST['auteur'];
$retour = mysql_query("SELECT * FROM news WHERE auteur='$auteur'");
Hors ligne
idem dans mon cas
cependant, tu peut également tout simplement ne pas mettre de ' (ce que je te conseille fortement si tu es dans un echo ou une requete ou autre (avec des ' ou " deja ouverts)
$retour = mysql_query("SELECT * FROM news WHERE auteur='$_POST[auteur]'");Hors ligne
je vous remercie tous deux de vos réponses, mais je suis assez fier de moi parcequ'en cherchant bien j'ai trouvé hier soir comme un grand mon erreur, et depuis ca marche
Hors ligne