covin85 Posté 20 Juin 2006 Posté 20 Juin 2006 bonjour il se page des chose très etrange en ce moment sur mon site. 1\ Le classement des joueurs: Les joueurs sont classé avec le code suivant $req = mysql_query("SELECT login , piece FROM membre ORDER by piece DESC"); while ($myrow = mysql_fetch_array($req)) { echo "<td>".$myrow["login"]."</td>";echo "<td>".$myrow["piece"]."</td><tr>";} Et le pire de tout c'est que dans phpmyadmin cela le fait aussi 2/Update J'ai créer un lien permettant de faire augmenter les pieces: $sql = 'UPDATE membre SET piece=piece+100';mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); Ce code marche,donc logiquement je fait EXACTEMENT pareille pour augementer la "force" : $sql = 'UPDATE membre SET force=force+100';mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); et regarder ce que cela me repond: Erreur SQL !UPDATE membre SET force=force+100You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'force=force+100' at line 1 Dite moi que je ne suis pas fous!!
Dan Posté 20 Juin 2006 Posté 20 Juin 2006 J'ai supprimé tes images énormes avec de larges bandeaux noirs. D'autant plus qu'elles ne permettent pas de comprendre ton problème qui est mal expliqué ! Si tu es surpris de l'ordre de classement des résultats (qui n'est pas correct apparemment) regarde comment tu as défini le champ 'piece'. Si tu veux un classement numérique (là il est alphabétique), il faut le définir comme "integer" et non comme "char" ou "varchar" En char, on classera: 1, 200, 30, 8 Et en integer: 1, 8, 30, 200 Ca change, non ? Dan
Bourinho Posté 20 Juin 2006 Posté 20 Juin 2006 +1... je comprends rien non plus... A part peut-être une piste pour l'erreur dans le UPDATE : force n'est peut-être pas dans un type numérique... A+
TheRec Posté 20 Juin 2006 Posté 20 Juin 2006 Bonjour, "FORCE" (ou tout autre variation de case, comme "force") est un mot réservé MySQL ... à ne jamais utiliser comme nom de champ ou de table lorsqu'on crée un schéma de base de données...change le nom de ton champ dans la base de données. (Tu as pu l'utiliser pour créer ta table car dans une requête CREATE ce mot clé n'est pas "réservé"...mais dans un UPDATE oui). Bonne continuation.
MS-DOS_1991 Posté 20 Juin 2006 Posté 20 Juin 2006 A noter que l'on peut échapper le nom des champs avec des guillemets inversés ` pour éviter ces problèmes : `timestamp` | `force` Attention toutefois : cette synthaxe n'est je crois supportée que par MySQL
covin85 Posté 20 Juin 2006 Auteur Posté 20 Juin 2006 (modifié) daccord vous avez resolu tous se qui me parraissait tres bisard merci beaucoup, désolé pour le texte implicite mais c'est que j'ai oublier des phrases Dernière question,pourquoi ya t-il un decalage dans la classement,regarder le membre test et monter beaucoup plus haut: http://img225.imageshack.us/my.php?image=sanstitre6lg1.jpg Modifié 20 Juin 2006 par covin85
TheRec Posté 20 Juin 2006 Posté 20 Juin 2006 Qu'entends-tu par "regarder le membre test et monter beaucoup plus haut" ? Fais un petit effort au niveau de la grammaire, je t'avoue que ça joue beaucoup lorsqu'il s'agit de comprendre... on n'est pas à la dictées de Pivot non plus, mais cela fait partie des règles du forum, merci d'avance. Si je me force un peu et que je traduis ça par "regardez le membre test est monté beaucoup plus haut", je miserait plutôt sur un problème (X)HTML/CSS ... si tu as utilisé un tableau pour présenter ces lignes, regarde si tu ne t'es pas trompé dans la syntaxe de celui-ci pour une des lignes...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant