Voir la version complète : Besoin d'aide
Bonjour,
J'essaye de crée un ptit module pour vBulletin qui va chercher des informations dans un autre script en php.
Sur une page en dehors de vBulletin cela marche a merveille
Voici le script en question :
echo "<table>"
<?php
$link = mysql_connect('localhost', '', '');
if (!$link) {
die('Impossible de se connecter : ' . mysql_error());
}
$db_selected = mysql_select_db('phpraid', $link);
if (!$db_selected) {
die ('Impossible de sélectionner la base de données : ' . mysql_error());
}
$query = "SELECT * FROM phpraider_raid";
$result = mysql_query($query) or die("Erreur");
while ($ligne = mysql_fetch_row($result))
{
$heure = $ligne[4] - 7200;
echo "<tr><td>" . $ligne[0] . " heure: " . date('H,i,d,m,y',$heure) . "</td></tr>";
}
?>
echo "</table>"
Maintenant, je voudrais crée un module avec ce script quand, je crée le module que je colle mon code et que je lui dis qu'il doit être lance dans forumhome_start il m'affiche le résultat tout en haut de la page.
Hors moi, je souhaiterais qu'il affiche cela en dessous de la navbar.
Et c'est la que mon problème ce trouve, je ne vois pas comment faire cela :s
Si des gens save m'aide ce serait sympas ^^
Il faut que tu fasses un hook sur forumhome et mettre comme code plutôt :
$contenu = "<table>";
$link = mysql_connect('localhost', '', '');
if (!$link) {
die('Impossible de se connecter : ' . mysql_error());
}
$db_selected = mysql_select_db('phpraid', $link);
if (!$db_selected) {
die ('Impossible de sélectionner la base de données : ' . mysql_error());
}
$query = "SELECT * FROM phpraider_raid";
$result = mysql_query($query) or die("Erreur");
while ($ligne = mysql_fetch_row($result))
{
$heure = $ligne[4] - 7200;
$contenu. = "<tr><td>" . $ligne[0] . " heure: " . date('H,i,d,m,y',$heure) . "</td></tr>";
}
$contenu .= "</table>"
$navbar .= $contenu
Ceci devrait fonctionner et faire l'affaire
Par contre là tu n'utilises pas du tout les fonctions d'accès base de données et de génération de date vbulletin. Est-ce voulu ? (ce n'est pas forcément tip top mais bon ...)
Merci mtor
Oui, pour le moment c'est voulu,
Sinon quand je test ton code j'ai une erreur type :
Parse error: parse error, unexpected '=' in /home/murmures/public_html/forum.php(63) : eval()'d code on line 72
J'ai résolu l'erreur, encore merci Mtor
Seulement, il me reste encore un problème, il n'affiche que 1 record hors, j'en ai 2 pour le moment. Tu vois pas une solution ?
Essayes en utilisant mysql_fetch_array au lieu de mysql_fetch_row
il faut while ton result pour afficher plusieur resultat
je suis pas trop en etat de te faire ca apré ma soiré un peu trop arosé mais si personne a repondu d'ici demain je te ferai ca ;)
Hum Fred, je pense que tu n'as pas les yeux en face des trous ;)
J'ai combien de doigts ? llol
Il a un while déjà sur son résultat. Essayes de lancer ta requète dans phpmyadmin par exemple pour voir ce qu'il te renvoit comme résultats (1 ou 2).
P.S: pour l'histoire du remplacement mysql_fetch_row <> mysql_fetch_array c'est une erreur de ma part
Je viens de test dans phpmyadmin, il m'affiche bien tout mes résultats :s
Pour résumé donc, j'ai prit ton code
$link = mysql_connect('localhost', 'root', 'sql280983');
if (!$link) {
die('Impossible de se connecter : ' . mysql_error());
}
$db_selected = mysql_select_db('phpraid', $link);
if (!$db_selected) {
die ('Impossible de sélectionner la base de données : ' . mysql_error());
}
$query = "SELECT * FROM phpraider_raid order by raid_id ASC limit 0,5";
$result = mysql_query($query) or die("Erreur");
while ($ligne = mysql_fetch_array($result))
{
$heure = $ligne[4] - 7200;
$contenu = "<br>" . $ligne[2] . " heure: " . date('H,i,d,m,y',$heure) . "<br><br>";
}
Que j'ai mis entre Hook au niveau du forumhome
Puis dans le template forumhome en dessous de $navbar, j'ai mis $contenu
La il m'affiche bien le record mais que 1 seul :s hors j'en ai 3
ah bah non la tu n'as pas pris tout mon code vu ce que tu as mis dans le message précédent.
Si le code que tu as posté dans ton dernier message est celui que tu as mis dans le hook c'est normal que çà ne marche pas !!
Regarde bien mon message, dans le code, j'utilise des
$contenu .=Donc à chaque passage dans la boucle il vient rajouter dans le résultat du contenu en plus (alors que ton code l'écrase). En plus j'avais tout fait pour que tu n'ais même pas de modification de templates à faire avec la ligne de la fin:
$navbar .= $contenu;Donc reprends le code que j'ai noté et çà va marcher !!
Mtor quand, je reprend ton code comme ça
$link = mysql_connect('localhost', 'root', 'sql280983');
if (!$link) {
die('Impossible de se connecter : ' . mysql_error());
}
$db_selected = mysql_select_db('phpraid', $link);
if (!$db_selected) {
die ('Impossible de sélectionner la base de données : ' . mysql_error());
}
$query = "SELECT * FROM phpraider_raid order by raid_id ASC limit 0,5";
$result = mysql_query($query) or die("Erreur");
while($ligne = mysql_fetch_array($result))
{
$heure = $ligne[4] - 7200;
$contenu. = "<br>" . $ligne[2] . " Départ à " . date('H:i - d/m/y',$heure) . "<br><br>";
}
$navbar .= $contenu
J'ai une erreur :
Parse error: parse error, unexpected '=' in /home/murmures/public_html/forum.php(63) : eval()'d code on line 69
Est-ce que tu l'as bien mis en hook "forumhome" et pas "forumhome_start" ?
Tiens d'ailleurs dans mon code, remet ton mysqll_fetch_row sinon ca ne marchera pas avec la syntaxe $ligne[indice] et essayes de voir si ca vient pas de là :)
Dans les hook, je ne vois pas "forumhome" seul
Oui pardon c'est forumhome_complete
vBulletin® v.3.7.0, Copyright ©2000-2008, Jelsoft Enterprises Ltd. Tous droits réservés - Version française vbulletin-fr.org