Aide pour gestion de forum

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Aide pour gestion de forum

par Domi_d » 29 sept. 2008, 10:20

Voici ce que je viens de faire, mais ça ne fonctionne pas :
<?
$tablo=array();
require ('../../../includes/config.php');
mysql_connect($serveur,$login,$pass);
mysql_select_db ($base)
$marequete = "SELECT id from forum_sujets order by id asc limit".$nb_sujets;
while($res=mysql_fetch_assoc($marequete)) {
$tablo[]=$res['id'];
}
$ids=implode(',',$tablo);

$req=mysql_query("DELETE FROM forum_sujets WHERE id IN (".$ids.")") or die(mysql_error());
$req=mysql_query("DELETE FROM forum_reponses WHERE correspondance_sujet IN (".$ids.")") or die(mysql_error());
?>
Voici l'erreur :
Parse error: parse error, unexpected T_VARIABLE in c:\program files\easyphp\www\...maintenance.php on line 27

La ligne 27 est celle-ci :
$marequete = "SELECT id from forum_sujets order by id asc limit".$nb_sujets;
Que se passe-t-il ?

Merci d'avance

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

par Domi_d » 25 sept. 2008, 17:25

A vrai dire, voici ma requête initiale, mais je ne voyais pas comment l'exploiter:
SELECT id from forum_sujets order by id asc limit $nb_sujets

par _activmik » 25 sept. 2008, 16:56

Ok, donc tu supprimes un nombre variables de sujets à partir du plus ancien.

La requête peut être du style :
"SELECT id FROM forum_sujets  ORDER BY  date_derniere_reponse ASC LIMIT ".$nombre_a_supp
Ainsi tu recupères les x identifiants de ta table les plus anciens. Tu les gardes de côté (mysql_fetch_array() ) et tu supprimes dans ta table forum_sujets toutes les champs avec ces id, ainsi que dans ta table forum_reponses.

Tu peux aussi faire une requête sql imbriquée sinon. Mais essaye de comprendre déjà ça.

Bon courage !

par Domi_d » 25 sept. 2008, 16:46

Salut,

Je définis les sujets avec ce formulaires :

Code : Tout sélectionner

<form method="post" action="valid_maintenance.php"> <table> <tr> <td>Sélectionner le nombre de sujets les plus anciens à supprimer :</td> </tr> <tr> <td><input type="radio" name="nb_sujets" value="5">5<br> <input type="radio" name="nb_sujets" value="10">10<br> <input type="radio" name="nb_sujets" value="50">50<br> <input type="radio" name="nb_sujets" value="100">100</td> </tr> <tr> <td><input type="submit" value=" Valider "></td> </tr> </table>

par _activmik » 25 sept. 2008, 16:37

Salut,

Comment définis-tu les sujets aptes à être supprimé ?

Aide pour gestion de forum

par Domi_d » 25 sept. 2008, 16:04

Bonjour,

Dans mon espace d'administration, je suis en train de mettre en place une section de 'maintenance' pour mon forum.

J'aimerais pouvoir supprimer x sujets ainsi que les réponses rattachées à ces sujets.

Pour ce faire, je détermine le nombre de sujets à supprimer dans un formulaire (du style "Combien de message à supprimer ?").

Par contre, c'est l'étape suivante qui me bloque, je n'arrive pas à formuler la requête pour sélectionner puis supprimer les sujets et réponses concernées.

Voici mes 2 tables :
La 1ère forum_sujets
id
titre
auteur
date_derniere_reponse

La 2nde forum_reponses
id
auteur
message
date_reponse
correspondance_sujet (qui est l'id du sujet de la 1ère table)

Comment formuler la requête svp ?

Merci d'avance pour votre aide :wink: