Création
d'entreprise
Posez votre question Signaler

Accepter ou refuser des commentaires [Résolu]

crvtp - Dernière réponse le 12 janv. 2011 à 20:51
Bonjour,
Je suis actuellement en réalisation d'un site internet pour un projet. Je suis dans la réalisation de la base de donnée pour le livre d'or, où des visiteurs pourront laisser des commentaires. Le futur admin du site pourra accepter ou refuser les commentaires. Cependant j'ai un problème, lorsque j'accepte ou que je refuse un commentaire il me les accepte ou refuse tous. Je n'arrive pas a faire du cas par cas.
Voici mon code :
admin.php
<?php
$req="SELECT NOM, DATE, TEXTE FROM livre WHERE VALIDER='0' ORDER BY DATE DESC;";
$exec=mysql_query($req) or die("Erreur");
while ($enreg = mysql_fetch_array ($exec)) {
echo ''.$enreg["NOM"].''.$cpt.' '.$enreg["DATE"].' <br/>'.$enreg["TEXTE"].'<br/><br/>';
$id
?>
<form method="post" action="adminsqlA.php">
<p><input type="submit" value="VALIDER" /></p>
</form>
<form method="post" action="adminsqlR.php">
<p><input type="submit" value="REFUSER" /></p>
</form>
<?php
$cpt=$cpt+1;
}
?>

adminsqlA.php
<?php
include("en_tete.php");
include("menu.php");
include('connexion.php');
$cptA='0';
$req="UPDATE livre SET VALIDER='1'";
$exec=mysql_query($req) or die("Erreur");
?>
<div id="corps">
<h2>Votre commentaire est accepté</h2>
<a href='admin.php'>Vous voulez en vérifier d'autres ?</a>
</div>

adminsqlR.php

<?php
include("en_tete.php");
include("menu.php");
include('connexion.php');
$req="DELETE FROM livre WHERE VALIDER='0'";
$exec=mysql_query($req) or die("Erreur");
?>
<div id="corps">
<h2>Votre commentaire est refusé</h2>
<a href='admin.php'>Vous voulez en vérifier d'autres ?</a>
</div>
Lire la suite 

Accepter ou refuser des commentaires »

13 réponses
Réponse
+0
moins plus
Tu pas mettre un where ici :$req="UPDATE livre SET VALIDER='1'";
comme ici http://www.phpsources.org/tutoriel-delete.htm#part_2
et en where pourquoi pas mettre l'id par exemple :D
Ajouter un commentaire
Réponse
+0
moins plus
Non, mettre un WHERE avec la valeur de l'id ne fonctionnera pas, ou plutot ne fonctionnera que dans un seul cas. Je m'explique:
si je mets un where id=10;
alors je ne pourrai accepter ou refuser seulement le com' 10, lorsque je voudrais traiter le com' 11, cela ne fonctionnera plus...
magicshark- 10 janv. 2011 à 18:40
tu traite pas tes com 1 par 1 ?!
crvtp - 10 janv. 2011 à 18:51
Oui, je veux traiter mes com un par un, je veux pouvoir traiter le 1er, le second etc... C'est pour cela que je ne peux pas mettre un WHERE id=1; car une fois que j'aurai traiter le 1er, je ne pourrai pas traiter le seconde puisque le WHERE sera tjs id=1 et mon commentaire aura id=2.
magicshark- 10 janv. 2011 à 20:06
euh as tu déjà entendu parler du php et de ses jolies variable :D quand tu fais ta requete pour afficher tes com recupere l'ID et apres tu t'en sert pour le mettre en value en tout cas recupere le pour le mettre dans tarequete
Ajouter un commentaire
Réponse
+0
moins plus
up =)
Ajouter un commentaire
Réponse
+0
moins plus
Exemple:

1er commentaire = ID numéro 1
2eme commentaire = ID numéro 2

Si dans ta base de donnée, tu rajoute un colone "validé" avce pour valeur 0
Si on ajoute un commentaire, un 3eme ID se créer, avec une valeur "validé" 0

Si tu valide un commentaire, tu change la valeur de "validé" sur 1.

Pour afficher les commentaires, tu les affiches tous WHERE validé=1

Si on résumé, 0=non_validé
1=validé

Voila =)

magicshark- 11 janv. 2011 à 12:40
c'est pas exactement une variable compteur mais un bouton pour chaque c'est a mon gout le mieux je dirai meme mieu deux bouton un supprimer et un valider tu fais ça dans un tableau je vais te faire un exemple je traite pas l'affichage des donnees comme toi mais tu verra c'est pas trop compliqué.:
<table>
<?php 
$sql="select * from eleve"; //une table comme ça ELEVE(id,nom,prenom)
$query=mysql_query($sql);
while($ligne=mysql_fetch_object($query))
{
$id=$ligne->id;
$nom=$ligne->nom;
$prenom=$ligne->prenom;

echo" <form method='post' action='traitement.php'>
<tr><td>$nom</td><td>$prenom></tr>
<tr><td><input type='submit' value='OK' name='valide'></td><td><input type='submit' value='NON' name='suprimer'><input type='hidden' name='id' value='$id'></td></tr>
</form>";

}
?>
</table>
magicshark- 11 janv. 2011 à 12:42
le champs cacher hidden(attention je ne sais jamais combien il y a de d dedans) te sert a savoir l'id du com que tu as valider les champs name sur les boutons permettent de savoir sur quelle bouton a cliquer l'utilisateur a savoir OK ou SUPRIMER tu le vois avec un if(isset(...))
crvtp - 12 janv. 2011 à 20:51
YEAH c'est bon ! ça fonctionne =) Merci beaucoup pour votre aide
Ajouter un commentaire
Ce document intitulé « accepter ou refuser des commentaires » 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
Passage au tout numérique : quel coût pour les particuliers ?