Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1470 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU]Lire quelques valeurs sur une base Mysql d'un forum ipb

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU]Lire quelques valeurs sur une base Mysql d'un forum ipb

n°1412297
destroyeur​04
viv la neige !
Posté le 24-07-2006 à 14:11:08  profilanswer
 

Slt à tous.  :hello:  
J'ai installé un petit mod de points sur un forum ipb, et je cherche à faire un classement général de ceux qui ont le plus de points.
Donc je voudrais faire un tableau, avec le speudo et à coté le nombre de points gagné.
 

Code :
  1. <?php
  2. $db = mysql_connect('localhost', 'root', 'root');
  3. mysql_select_db('utos',$db);
  4. $req = mysql_query('SELECT members_display_name,points FROM ipb_members');
  5. $res = mysql_num_rows($req);
  6. echo '<center>Il y a '.$res.' enregistrement(s) dans le classement.</center>';
  7. echo '<br/>';
  8. while( $contenu = mysql_fetch_array ($req))
  9. {
  10. echo '<table width="502" height="20" border="1" align="center">';
  11. echo '<tr>';
  12. echo '<td width="50%">&nbsp;&nbsp;Membre : '.$contenu[members_display_name].'&nbsp;&nbsp;</td>';
  13. echo '<td width="50%">&nbsp;&nbsp;Points : '.$contenu[points].'&nbsp;&nbsp;</td>';
  14. echo '</tr>';
  15. echo '</table>';
  16.  
  17.  
  18. }
  19. print '</table>';
  20. print'</div>';
  21. mysql_close($db);
  22. ?>


 
 
Pour le moment, j'ai pu coder ces quelques lignes...
 
Donc les prbs:
-Comment faire pour afficher par ordre décroissant, avec ceux qui ont le plus de points en haut
-Comment faire si tout fonctonne en localhost et pas sur 1&1 xD
 
 
 
merci à tous ceux qui pourrais m'aider  :(  
ps: n00bies inside  :D

Message cité 1 fois
Message édité par destroyeur04 le 25-07-2006 à 20:17:32
mood
Publicité
Posté le 24-07-2006 à 14:11:08  profilanswer
 

n°1412311
naceroth
Posté le 24-07-2006 à 14:33:46  profilanswer
 

destroyeur04 a écrit :


Donc les prbs:
-Comment faire pour afficher par ordre décroissant, avec ceux qui ont le plus de points en haut


 
SELECT members_display_name,points FROM ipb_members order by points desc;
 

destroyeur04 a écrit :


-Comment faire si tout fonctonne en localhost et pas sur 1&1 xD


 
Ca ne fonctionne pas n'a jamais été très parlant comme message d'erreur :D

n°1412506
destroyeur​04
viv la neige !
Posté le 24-07-2006 à 17:25:14  profilanswer
 

prb n°1 c'est réglé ça marche ! merci.  :jap:  
 

Code :
  1. <?php
  2. $db = mysql_connect('xxxxxxxx.1and1.fr','xxxxxxxxxx','xxxxxxxxxx') or die ("erreur de connexion" );
  3. mysql_select_db('xxxxxxxxxxx',$db) or die ("erreur de connexion base" );
  4. $req = mysql_query("SELECT members_display_name,points FROM ipb_members order by points desc; " ) or die ("erreur requête" );
  5. $res = mysql_num_rows($req);
  6. echo '<center>Il y a '.$res.' enregistrement(s) dans la table Clients.</center>';
  7. echo '<br/>';
  8. while( $contenu = mysql_fetch_array ($req))
  9. {
  10. echo '<table width="502" height="20" border="1" align="center">';
  11. echo '<tr>';
  12. echo '<td width="50%">&nbsp;&nbsp;Membre : '.$contenu[members_display_name].'&nbsp;&nbsp;</td>';
  13. echo '<td width="50%">&nbsp;&nbsp;Points : '.$contenu[points].'&nbsp;&nbsp;</td>';
  14. echo '</tr>';
  15. echo '</table>';
  16.  
  17.  
  18. }
  19. print '</table>';
  20. print'</div>';
  21. mysql_close($db);
  22. ?>


 
prb n°2 -> http://www.utoshop.fr/classement.php
 
 
et j'obtiens ça  

Citation :

erreur requête


Alors que en local tout marche :s


Message édité par destroyeur04 le 24-07-2006 à 17:31:03
n°1412560
naceroth
Posté le 24-07-2006 à 18:14:42  profilanswer
 

Ouais, enfin, erreur requête c'est pas spécialement parlant non plus, récupère au moins le message d'erreur de mysql le temps de faire le debug :)

n°1412568
destroyeur​04
viv la neige !
Posté le 24-07-2006 à 18:23:59  profilanswer
 

le prb , c'est que n'est aucun message d'erreur à part "erreur requête"
 
Quand je vire le "or die ("erreur requête" )", j'obtiens  

Citation :

Il y a enregistrement(s) dans le classement


:/

n°1412570
dwogsi
Défaillance cérébrale...
Posté le 24-07-2006 à 18:25:11  profilanswer
 

Essais or die(mysql_error());

n°1412591
destroyeur​04
viv la neige !
Posté le 24-07-2006 à 19:00:17  profilanswer
 

Arf j'ai trouvé :p
 
le prb vennais du nom d'une des tables de la base mysql xD
 
 
merci beaucoup dwogsi et naceroth :jap:
:p

n°1412751
destroyeur​04
viv la neige !
Posté le 25-07-2006 à 03:58:01  profilanswer
 

Encore un petit prb.
Je voudrais améliorer le script de manière à ce les résultats du classement ne s'affichent que 50 par 50.
J'ai pensé passer par l'url classement.php?u=0 puis mettre un link classement.php?u=50 etc...
 

Code :
  1. <?php
  2. include "conf_global.php";
  3. $host = $INFO['sql_host'];
  4. $user = $INFO['sql_user'];
  5. $pass = $INFO['sql_pass'];
  6. $base = $INFO['sql_database'];
  7. $lmn = $HTTP_GET_VARS['u'];
  8. $db = mysql_connect($host,$user,$pass) or die ("erreur de connexion" );
  9. mysql_select_db($base,$db) or die ("erreur de connexion base" );
  10. $req = mysql_query("SELECT SQL_BIG_RESULT members_display_name,points FROM IPB_members order by points desc LIMIT ".$lmn.",50" ) or die(mysql_error());


 
Le fait d'utiliser des varibles php acquise par la fonction $HTTP_GET_VARS dans des requette sql n'ouvre-t-il une faille sql injection sur la table des membres ?
Comment faire pour le script ne plante pas si l'utilsateur se rends sur l'adresse classement.php ou lieu de classement.php?u=0

Citation :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '50' at line 1


Message édité par destroyeur04 le 25-07-2006 à 04:49:21
n°1412761
mIRROR
Chevreuillobolchévik
Posté le 25-07-2006 à 08:06:27  profilanswer
 

oui ca ouvre une faille
ca plante parce que tu n initialises pas ta variable
$lmn = ( isset($_GET['u']) && is_numeric($_GET['u']) ) ?  $_GET['u'] : 0;
en ligne 7
 
avec ca tu corriges ta faille et ton bug :)
(on n utilise plus les $http_*_vars mais $_* )

n°1413374
destroyeur​04
viv la neige !
Posté le 25-07-2006 à 20:15:41  profilanswer
 

youpi ça marche  :love:  
 
merci  mIRROR  :jap:

mood
Publicité
Posté le 25-07-2006 à 20:15:41  profilanswer
 

n°1413553
mIRROR
Chevreuillobolchévik
Posté le 26-07-2006 à 07:43:33  profilanswer
 

iourouelckoominn


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU]Lire quelques valeurs sur une base Mysql d'un forum ipb

 

Sujets relatifs
[Résolu]Simulation de date sur excel[résolu] Internal class
export base Mysql vers fichier excel[résolu] lecture à partir d'un BufferedReader
[C++ / résolu] Vérifier le type donné à un template... typeid?[RESOLU]Mon formulaire ne marche pas si je met le enctype !
MySQL 5 -- Syntaxe SQLCitation de message dans un forum
appeler une information d'une base de donnée 
Plus de sujets relatifs à : [RESOLU]Lire quelques valeurs sur une base Mysql d'un forum ipb


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR