Bien exploiter cette base !

ViPHP
AB
ViPHP | 5818 Messages

20 oct. 2012, 03:19

Déjà ce code fait une erreur.
Laquelle ? Que dis le message d'erreur ?

Eléphant du PHP | 79 Messages

20 oct. 2012, 04:03

Déjà ce code fait une erreur.
Laquelle ? Que dis le message d'erreur ?
Ben je l'ai posté :

Code : Tout sélectionner

Parse error: syntax error, unexpected T_VARIABLE, expecting
Mon site dédié à Minecraft : http://www.orminecraft.com
Et celui dédié à ses serveurs multijoueur ;) http://www.serveurs-minecraft.net

Eléphant du PHP | 343 Messages

20 oct. 2012, 04:35

Et si tu remplaces $rows[] = row; par ce que j'ai proposé précédemment?

Edit: Et puis il manque les () autour du while non?
Développeur web

Eléphant du PHP | 79 Messages

20 oct. 2012, 04:46


Et si tu remplaces $rows[] = row; par ce que j'ai proposé précédemment?

Edit: Et puis il manque les () autour du while non?

J'aurais plutôt fait
$rows[] = $row;
Et attention en testant, c'est while et non wihle ;)
Je n'arrive pas à comprendre ce que tu veux dire (relis toi).

Pour le while j'ai donc rajouté les "()" :
    public function getMostDistancer() {
        $res = mysql_query('SELECT `uuid` name, SUM(`distance_traveled`) count
                                                FROM players
                                                WHERE distance_traveled != -1
                                                GROUP BY `uuid`
                                                ORDER BY count DESC
                                                LIMIT 3');
        while() $row = mysql_fetch_assoc($res) {$rows[] = row;}
     
        return $rows;
    }
L'erreur devient :
Parse error: syntax error, unexpected ')'
Mon site dédié à Minecraft : http://www.orminecraft.com
Et celui dédié à ses serveurs multijoueur ;) http://www.serveurs-minecraft.net

Eléphant du PHP | 343 Messages

20 oct. 2012, 04:50

Non mais
while($row = mysql_fetch_assoc($res)) { $rows[] = row; }
et je dirais même
while($row = mysql_fetch_assoc($res)) { $rows[] = $row; }
while() c'est nouveau? :D
Développeur web

Eléphant du PHP | 79 Messages

20 oct. 2012, 04:54

Non mais
while($row = mysql_fetch_assoc($res)) { $rows[] = row; }
et je dirais même
while($row = mysql_fetch_assoc($res)) { $rows[] = $row; }
while() c'est nouveau? :D
xD je me doutais qu'il y avait une arnaque

Par contre j'ai encore une erreur
Fatal error: Cannot redeclare SERVER::getMostDistancer()
    public function getMostDistancer() {
        $res = mysql_query('SELECT `uuid` name, SUM(`distance_traveled`) count
                                                FROM players
                                                WHERE distance_traveled != -1
                                                GROUP BY `uuid`
                                                ORDER BY count DESC
                                                LIMIT 3');
        while($row = mysql_fetch_assoc($res)) { $rows[] = $row; }
     
        return $rows;
    }
Edit :: Rien dit ! doublon de fonction dsl ^^
Mon site dédié à Minecraft : http://www.orminecraft.com
Et celui dédié à ses serveurs multijoueur ;) http://www.serveurs-minecraft.net

Eléphant du PHP | 343 Messages

20 oct. 2012, 05:02

Et dans le contexte ça donne quoi (comment tu utilises ce code)?
Développeur web

Eléphant du PHP | 79 Messages

20 oct. 2012, 05:05

Edit : ça tombe bien je vais répondre à ta question :
    public function getMostDistancer2() {
        $res = mysql_query('SELECT `uuid` name, SUM(`distance_traveled`) count
                                                FROM players
                                                WHERE distance_traveled != -1
                                                GROUP BY `uuid`
                                                ORDER BY count DESC
                                                LIMIT 3');
        while($row = mysql_fetch_assoc($res)) { $rows[] = $row; }
     
        return $rows;
    }
Test :
          <?php
            $ar = $serverObj->getMostDistancer2();
            $player = $serverObj->getPlayer($ar['name']);
            if ($player) { 
            	        echo(STRING_ALL_DISTANCER); 
            	?>
            : </h2>
           <a class="fort" href="?view=player&uuid=<?php echo($player->getUUID()); ?>"><?php echo($player->getName()); ?></a>
            <?php 
            	        echo $rows[0];
            	    ?>
            <?php } else echo(STRING_ALL_NONE); ?>
J'ai donc changé le
<?php
echo $rows[0];
?>
Erreurs :
NOTICE: UNDEFINED INDEX: NAME
Notice: Undefined variable: rows
Je ne cerne pas encore le truc
Mon site dédié à Minecraft : http://www.orminecraft.com
Et celui dédié à ses serveurs multijoueur ;) http://www.serveurs-minecraft.net

Eléphant du PHP | 343 Messages

20 oct. 2012, 05:20

Ne maitrisant pas l'OO, je dirais que tu es obligé de réutiliser ton $ar pour appeler getMostDistancer2()
Je ne vais pas te faire faire des conneries mais j'aurais bien fait un print_r du $rows pour voir ce qu'il y a dedans. Mais bon apparemment il n'est pas défini (surement parce-que tu ne réutilises pas ton $ar).
Développeur web

Eléphant du PHP | 79 Messages

20 oct. 2012, 05:23

Ne maitrisant pas l'OO, je dirais que tu es obligé de réutiliser ton $ar pour appeler getMostDistancer2()
Je ne vais pas te faire faire des conneries mais j'aurais bien fait un print_r du $rows pour voir ce qu'il y a dedans. Mais bon apparemment il n'est pas défini (surement parce-que tu ne réutilises pas ton $ar).
Aïe, c'est faisable de réutiliser le $ar avec le while ? Le

Code : Tout sélectionner

print_r($rows[0]);

Code : Tout sélectionner

print_r($rows);
ne donne rien
Mon site dédié à Minecraft : http://www.orminecraft.com
Et celui dédié à ses serveurs multijoueur ;) http://www.serveurs-minecraft.net

Eléphant du PHP | 343 Messages

20 oct. 2012, 05:28

Je dirais que non vu que ton $serverObj doit gérer la connexion à la bdd donc avec $ar tu appelles ta connexion à la bdd et la transmet à getMostDistancer2() pour le traiter sur la 2e page.
Donc réutiliser $ar dans le while ne servirait à rien.

Edit: ton print_r tu le fais où?
Développeur web

Eléphant du PHP | 79 Messages

20 oct. 2012, 05:30

Je dirais que non vu que ton $serverObj doit gérer la connexion à la bdd donc avec $ar tu appelles ta connexion à la bdd et la transmet à getMostDistancer2() pour le traiter sur la 2e page.
Donc réutiliser $ar dans le while ne servirait à rien.

Edit: ton print_r tu le fais où?
Mince, comment faire alors ?
Mon site dédié à Minecraft : http://www.orminecraft.com
Et celui dédié à ses serveurs multijoueur ;) http://www.serveurs-minecraft.net

Eléphant du PHP | 343 Messages

20 oct. 2012, 05:40

Je te conseille d'attendre Mazarini (ou quelqu'un d'autre) qui s'y connaissent. Personnellement, je ne vois pas trop le but du $rows[] dans le while.
Développeur web

Eléphant du PHP | 79 Messages

20 oct. 2012, 05:44

Ok merci je les attends ;) dodo pour être en forme demain bonne nuit.
Mon site dédié à Minecraft : http://www.orminecraft.com
Et celui dédié à ses serveurs multijoueur ;) http://www.serveurs-minecraft.net

Eléphant du PHP | 343 Messages

20 oct. 2012, 05:49

Merci à toi aussi ;)
Développeur web