Automatiser un script

Eléphanteau du PHP | 17 Messages

27 janv. 2007, 20:36

Bonjour,
j'ai réaliser cette requête pour récupérer le nombre de réponses dans forum
<?php

//connexion

$connexion=mysql_connect('localhost','root','') or die ('erreur de connexion');

$ok=mysql_select_db("sessions",$connexion);

//requête

$sql = 'SELECT topic_replies FROM phpbb_topics WHERE topic_id=3 LIMIT 0, 30';

//exécution de la requête

$req=mysql_query($sql);

//recuperation de la valeur

while($data = mysql_fetch_assoc($req))

    {

    // on affiche les informations de l'enregistrement en cours

echo $data['topic_replies'];

    }

?>
Et je voudrais savoir s'il est possible d'automatiser ce scipt pour éviter de dupliquer ce fichier dans mon serveur pour récupérer les nombre de réponses pour les différents sujets.

Merci
Modifié en dernier par pollux007 le 27 janv. 2007, 22:19, modifié 1 fois.

HD
Mammouth du PHP | 1181 Messages

27 janv. 2007, 20:41

je ne sais pas si j ai bien compris ta question mais tu peux mettre
$sql = 'SELECT topic_replies FROM phpbb_topics WHERE topic_id=$topicid LIMIT 0, 30';
et mettre ce code dans un fichier "compter-reponses.php" par exemple
puis dans chaque forum on met
$topicid = xx ;
include ("compter-reponses.php");
:?:
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Eléphanteau du PHP | 17 Messages

27 janv. 2007, 21:07

Merci de ta réponse aussi rapide.
Oui en fait je voudrais recuperer le nombres de réponses dans un topic de mon forum pour l'afficher dans ma page html.
Du genre :
Laisser un commentaire(16 réponses)

Donc dans mon code html j'écris:

Code : Tout sélectionner

Laisser un commentaire sur l'article.</a> ( <?php include("comentaires_morales.php")?> commentaires )
Ce qui m'oblige a dupliquer et renommer mon fichier commentaires.
Donc je voudrais automatiser tout ca en ayant q'un seul fichier.

Donc si j'ai bien compris ta réponse il faut attribuer un registre à topic_id et le déclarer dans ma page html?

HD
Mammouth du PHP | 1181 Messages

27 janv. 2007, 21:11

donc tu declare une variable par exemple $topicid dans le fichier parent (qui change à chaque fois) puis le fichier que tu vas inclure va utiliser cette variable pour générer un resultat "personnalisé"
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Eléphanteau du PHP | 17 Messages

27 janv. 2007, 21:32

Donc voici mon code php:
<?php

//connexion

$connexion=mysql_connect('localhost','root','') or die ('erreur de connexion');

$ok=mysql_select_db("sessions",$connexion);

//requête

$sql = 'SELECT topic_replies FROM phpbb_topics WHERE topic_id=$topicid LIMIT 0, 30';

//exécution de la requête

$req=mysql_query($sql);

//recuperation de la valeur

while($data = mysql_fetch_assoc($req))

    {

    // on affiche les informations de l'enregistrement en cours

echo $data['topic_replies'];

    }

?>
Et mon code html

Code : Tout sélectionner

Laisser un commentaire sur l'article. ( <?php $topicid=34; include("comentaires.php"); ?> commentaires )
Et j'ai ce message d'erreur:

Laisser un commentaire sur l'article. (
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/vhost/sessions.fr/home/html/comentaires.php on line 23
commentaires )
Modifié en dernier par pollux007 le 27 janv. 2007, 21:37, modifié 2 fois.

HD
Mammouth du PHP | 1181 Messages

27 janv. 2007, 21:35

$sql = "SELECT topic_replies FROM phpbb_topics WHERE topic_id='$topicid' LIMIT 0, 30";
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

HD
Mammouth du PHP | 1181 Messages

27 janv. 2007, 21:36

stp edite ton message précédent et met xxx à la place de tes parametres de connexion (login et mot de passe) :
$connexion=mysql_connect
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Eléphanteau du PHP | 17 Messages

27 janv. 2007, 21:51

C'est bizare j'ai cette suite a l'ajout des guillemets dans ma requete
j'ai encore cette erreur:

Code : Tout sélectionner

Parse error: parse error, unexpected T_VARIABLE in /var/www/vhost/sessions.fr/home/html/comentaires.php on line 15
Pourtant j'ai bien attribue une valeur a ma variable topicid.

HD
Mammouth du PHP | 1181 Messages

27 janv. 2007, 22:00

montre nous ton nouveau code stp en precisant à quoi correspond la ligne 15
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Eléphanteau du PHP | 17 Messages

27 janv. 2007, 22:03

Voici mon nouveau code:
//requête

$sql = 'SELECT topic_replies FROM phpbb_topics WHERE topic_id='$topicid' LIMIT 0, 30';

//exécution de la requête

$req=mysql_query($sql);

//recuperation de la valeur

while($data = mysql_fetch_assoc($req))

    {

    // on affiche les informations de l'enregistrement en cours

echo $data['topic_replies'];

    }

?>
J'ai bien rajouté les guillemets pour la varaible topicid et c'est tout

HD
Mammouth du PHP | 1181 Messages

27 janv. 2007, 22:07

avant SELECT et après 30 il faut mettre des double guillemets "
sinon les variables ne sont pas interprétées
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

ViPHP
ViPHP | 1961 Messages

27 janv. 2007, 22:16

Bonjour,

Pour éviter ce genre de PB il est fortement conseillé de bien séparer les variables PHP du reste de la requête en se servant de concaténations.
$sql = "SELECT topic_replies FROM phpbb_topics WHERE topic_id='" . $topicid. "' LIMIT 0, 30"; 
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphanteau du PHP | 17 Messages

27 janv. 2007, 22:18

C'est bon ca marche!

En tout cas merci de votre aide.