PHP a MYSQL (LOCAL)
Résolu
Bonjour,
j'aurais besoin d'aide pour corriger mon code PHP et je m'y connais pas vraiment en php.A vrai dire je commence a apprendre..
J'ai cree un site web de jeux online et il me restait a ajouter un code PHP qui ce connectais a Mysql (en Local) et ce dirigais dans ma table de mes character de mon jeux online pour me dire le nombre de personne online dans le jeux pour que ca l'affiche dans ma page web...Le code es bon mais avec quelque erreur..Esce que quelqu'un a la moindre idée de cqui n'est pas correct et pourrais m'aider a le corriger???
voici le code
<html>
<body>
<center>
<body bgcolor='#E4E6D7'>
<?
$Serveur_Sql="localhost";
$Login_Sql="votre log data";
$Passe_Sql="votre pass data";
$Base_Sql="l2jdb";
?>
<table width="200">
<tr>
<td>Nbre</td> <td>Personnage</td>
</tr>
<?
$db = mysql_connect("$Serveur_Sql", "$Login_Sql", "$Passe_Sql") OR DIE("La base de données est fermée");
mysql_select_db("$Base_Sql",$db) or die("La base de données est inaccessible");
$requete = mysql_query("
select C.char_name,C.level,C.sex,CT.ClassName
from characters as C
inner join char_templates as CT
on CT.ClassId = C.classid
where C.online = 1
order by C.level DESC;
");
$i = 1;
while($classement = mysql_fetch_assoc($requete)){
if ($classement['sex'] <> 0) {
$sexe='Femme';
} else {
$sexe='Homme';
}
echo "
<tr>
<td>$i</td>
<td>$classement[char_name]</td>
</tr>
";
$i++;
}
if ($i=="1") {
echo "
<tr>
<td>Il n'y a aucun joueur en ligne pour le moment...</td>
</tr>
";
}
?>
</center>
</body>
</html>
j'aurais besoin d'aide pour corriger mon code PHP et je m'y connais pas vraiment en php.A vrai dire je commence a apprendre..
J'ai cree un site web de jeux online et il me restait a ajouter un code PHP qui ce connectais a Mysql (en Local) et ce dirigais dans ma table de mes character de mon jeux online pour me dire le nombre de personne online dans le jeux pour que ca l'affiche dans ma page web...Le code es bon mais avec quelque erreur..Esce que quelqu'un a la moindre idée de cqui n'est pas correct et pourrais m'aider a le corriger???
voici le code
<html>
<body>
<center>
<body bgcolor='#E4E6D7'>
<?
$Serveur_Sql="localhost";
$Login_Sql="votre log data";
$Passe_Sql="votre pass data";
$Base_Sql="l2jdb";
?>
<table width="200">
<tr>
<td>Nbre</td> <td>Personnage</td>
</tr>
<?
$db = mysql_connect("$Serveur_Sql", "$Login_Sql", "$Passe_Sql") OR DIE("La base de données est fermée");
mysql_select_db("$Base_Sql",$db) or die("La base de données est inaccessible");
$requete = mysql_query("
select C.char_name,C.level,C.sex,CT.ClassName
from characters as C
inner join char_templates as CT
on CT.ClassId = C.classid
where C.online = 1
order by C.level DESC;
");
$i = 1;
while($classement = mysql_fetch_assoc($requete)){
if ($classement['sex'] <> 0) {
$sexe='Femme';
} else {
$sexe='Homme';
}
echo "
<tr>
<td>$i</td>
<td>$classement[char_name]</td>
</tr>
";
$i++;
}
if ($i=="1") {
echo "
<tr>
<td>Il n'y a aucun joueur en ligne pour le moment...</td>
</tr>
";
}
?>
</center>
</body>
</html>
Configuration: Windows XP Internet Explorer 6.0
31 réponses
Résumé de la discussion
Un débutant cherche à corriger un script PHP qui se connecte à MySQL en local et affiche le nombre de joueurs en ligne à partir d'une table de personnages, via une requête avec jointures. Plusieurs erreurs fréquentes apparaissent, notamment l'usage de balises PHP courtes, des appels mysql obsolètes et des noms de variables peu fiables, aggravées par des détails d'environnement entre local et hébergeur. Des échanges suggèrent aussi que le code peut afficher du texte brut si PHP n'est pas interprété, et recommandent de corriger la requête SQL, notamment la jointure et la syntaxe de DESC.
-
merci a tous de m'Avoir aidée et bonne journée
-
bon j'ai un ami qui m'a donnée du support et ca marche a merveille son code et myreste juste a rebatir ma page et integre mon code
voici le code::::
<?php
$host="monip";
$user="monuser";
$pwd="monmotdepasse";
$base="l2jdb";
mysql_connect($host,$user,$pwd) or die("ERREUR DE CONNECTION");
mysql_select_db($base);
$players = 0;
$query = mysql_query ("SELECT * FROM characters WHERE online=1") or die();
$players = mysql_num_rows($query);
if ($players==0)
{
echo "Aucun joueur online";
}
else
{
echo $players."joueur(s) online";
}
?> -
Je viens de voir que tu semble avoir un espace chez hostarea.org , pourquoi ne pas mettre ton site de jeux et ta base chez eux, ainsi que ton script qui te permet de connaitre le nbr de joueurs en ligne.
SVP n'écris pas en style sms c'est trop difficile à lire et pas conforme à la charte CCM -
La pb si ça t'affiche:
0) { $sexe='Femme'; } else { $sexe='Homme'; } echo " "; $i++; } if ($i=="1") { echo " "; } ?>
Nbre Personnage
$i $classement[char_name]
c'est que ton php n'est pas interprété, tu affiches une partie du code qui est écrit dans le script, pas le résultat, tu devrait avoir des chiffres pas des else {....
essayes ça:
a la place des tags php:
<? mets <?php
sinon en php 5 ça fout la panique !
et dans ta partie :
$requete = mysql_query("
select C.char_name,C.level,C.sex,CT.ClassName
from characters as C
inner join char_templates as CT
on CT.ClassId = C.classid
where C.online = 1
order by C.level DESC;
");
tu as un ; en trop après DESC, enlèves le -
peux pos etre plus clair que cela :P d'apres moi c dans mon code le probleme ca speux tu...pt que le code de la personne qui me la donner n'est pas au point dans les image que jvous ai envoyer on voit les etape du debut a la fin de ou me rendre pour lire si une personne es connecter ou pos connecter
-
les pic de ma BBE l2jdb
etape 1
http://images.cjb.net/c9310.jpg
etape 2
http://images.cjb.net/f4969.jpg
etape 3
http://images.cjb.net/45820.jpg -
oui ca veux dire que j'ai une ip fixe..
ok pour repondre a ta question en LOCAL quand j'ai mis mon fichier connect.php dans le dossier www de wamp
ca m'a afficher
0) { $sexe='Femme'; } else { $sexe='Homme'; } echo " "; $i++; } if ($i=="1") { echo " "; } ?>
Nbre Personnage
$i $classement[char_name]
Il n'y a aucun joueur en ligne pour le moment...
pis j'ai embarquer dans mon jeux (Lineage2) sur mon server online et ca m'a afficher ca bizzarre pcq dans ma base de donnée
quand je check les account cree chaque account a une option online ..par defaut ye a 0 quand ya personne de connecter avec cet account mais si il est connecter il va etre a 1
je vais vous montrer une idee de ma base de donnee pour que vou comprenner -
Ca veut dire que tu as une IP fixe ?
Dans ce cas, tu gardes tout en local.
Mais quand tu testes en local :le script connect.php est bien sous le rep www de wamp ?
Mais tu veux que les joueurs se connectent sur ton serveur de ton PC (Wamp) ?????? Aie la sécurité ! -
je comprend mais les gens ce connect sur ma machiine pour jouer a mon jeux online via mon ip??
que dois-ce faire ???
et pour msn ben si tu n'as pas de msn,jpourrais tenvoyer par email une invitation de connection bureau a distant pour que tu puisse me parler et comprendre mon probleme et je tenverrais le mot de pass de la connection sur le email.
Jcomprend cque tu veux dire mais si admetton qui faudrais jimporte ma base de donne de mon ordi au server ben va falloir que jsache comment faire pcq jmy connect pas pis jimagine que ca srais long a expliquer tandis que en me le montrant je saurais comment faire aussi. -
Je n'utilise pas MSN
Mais:
cque je veux la c'est ne pas avoir a etre obliger d'importer ma base de donnee chez mon hebergeur
ça c'est impossible, tu ne peux pas venir lire dans une BD sur ton PC depuis un serveur distant (heureusement pour la sécurité !)
sinon ca srais jamais précis et jamais en temp reel le nombre de joueur online sur ma page connect.php
non car quand tu appelles ton script php il s'execute sur le serveur et le serveur irra plus vite a lire des données chez lui que de venir les lire dans ton micro.
et de plus les utilisateur sont "connectés" sur le serveur et pas dans ton PC.
Not Found
The requested URL /connect.php was not found on this server.
quand tu testes en local :le script connect.php est bien sous le rep www de wamp ? -
pourrais tu me donnez du support via msn svp??? apres on reviendra ici écrire ce qui ny allait pas dans mes configs???
msn:: djjult@hotmail.com -
ca m'a marquer
Not Found
The requested URL /connect.php was not found on this server.
au niveau des 2 addresse local , 127.0.0.1 -
Si c'est en local:
tes parametres de connexion:$Serveur_Sql="localhost"; $Login_Sql="l'user que tu as defini dans les privilèges de ta base en local"; $Passe_Sql="le mot de pass que tu as defini dans les privilèges de ta base en local "; $Base_Sql="l2jdb"; // c'est bien l'orthographe exacte du nom de ta base
et pour accèder au script:
http://localhost/connect.php
ou
http://127.0.0.1/connect.php -
cque je veux la c'est ne pas avoir a etre obliger d'importer ma base de donnee chez mon hebergeur pcq sinon ca srais jamais précis et jamais en temp reel le nombre de joueur online sur ma page connect.php
-
mon script est belle et bien chez mon hebergeur jte donne le lien de la page ou jai mix mon code en.PHP
http://jultknight.hostarea.org/connect.php
mais si jessais en local c comment je dois marker http://localhost/..../ton_script.php
wamp es installer dans le c:wamp et la base de donnee l2jdb est dans C:\wamp\mysql\data\l2jdb
mais mon but ultime c'est que ca marche sur mon site pour que mes joueur puisse voir le nombre de joueur qui son present ainsi a que a ceux que je vais faire de la publiciterune fois mon site bati -
Question:
Le script dont tu nous donnes le code, il est bien chez ton hebergeur et tu y accedes bein en tapant son adresse
httpp/ adresse hebergeur/ton_script.php
ou tu fais tout ça en local
http://localhost/..../ton_script.php
??
et:
$Serveur_Sql="localhost"; ou "nom du serveur donné par hebergeur"
$Login_Sql="bdd";
$Passe_Sql="monmotdepass";
$Base_Sql="l2jdb"; es tu certain du nom de ta base Majuscules Minuscules est un i majuscule ou un L minuscule ?
car le message d'erreur veut dire qu'il ne trouve pas la base "l2jdb", ou qu'elle n'est pas activée. -
oui c'Est exact pcq dans un autre forum on m'avais dis de faire ca si en Localhost ca marchais pos vu qui m'avais dis dans typ de server mettre tout SERVER %
-
ën plus sur ma base de donnee , les privilege du user bdd sont tout cocher avec un mot de pass et dans type de server = tout server= %
-
$Serveur_Sql="monip";
Es-tu en train d'essayer, depuis chez ton hébergeur, de te connecter à la base de données de ta machine perso à la maison ? -
j'ai installer wamp ....
la ca marquer
Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on '64.228.235.15' (4) in /home/web/clients/jultknight.hostarea.org/www/connect.php on line 26
Erreur connexion a la base: Can't connect to MySQL server on '64.228.235.15' (4)
Nbre Personnage
- 1
- 2
Suivant