Liste des Membres en Ligne Mysql ou odbc (serveur t4c)

Résolu
lvdmv2 Messages postés 2 Date d'inscription dimanche 10 décembre 2000 Statut Membre Dernière intervention 22 novembre 2009 - 22 nov. 2009 à 12:10
lvdmv2 Messages postés 2 Date d'inscription dimanche 10 décembre 2000 Statut Membre Dernière intervention 22 novembre 2009 - 22 nov. 2009 à 16:15
Bonjour voici mon premier poste sur Code Sources
Je créer un Panel pour t4c, bien sur je peut prendre des script deja complet ..

dans se post je vous demand s'il est posible de Reproduire un Script odbc en mysql

voici le script original en odbc

<?php
//liste des membres en ligne
  //connection au serveur
  $cnx = odbc_connect( "T4C Server", "root", "" ) or die ("Impossible de se connecter à la base de donnée") ;
  	//quérir les données1:
$Retour= "SELECT PlayerName, AccountName FROM OnlineUSers ORDER BY PlayerName";
$query1= odbc_do($cnx, $Retour) or die( "odbc_error(Données1)" ) ;
?>
<center>Nom du compte</center>,
<center>Personnage</center>,
<center>Niveau</center>,
<center>Type</center>,
<center>Vie</center>,

<?php
while (odbc_fetch_row($query1))
{
//compte:
$Ancien1= odbc_result($query1, \"AccountName\");
$Ancien2= odbc_result($query1, \"PlayerName\");
//HP:
$Retour2=\"SELECT CurrentHP, MaxHP, CurrentLevel FROM PlayingCharacters WHERE PlayerName='$Ancien2'\";
$query2= odbc_do($cnx, $Retour2) or die( \"odbc_error(Données2)\" ) ;
$Result=odbc_fetch_row($query2);
$Ancien3= odbc_result($query2, \"CurrentHP\");
$Ancien4= odbc_result($query2, \"MaxHP\");
$Ancien5= odbc_result($query2, \"CurrentLevel\");
//Type
$Retour3=\"SELECT Account_Type FROM T4CUsers WHERE Account='$Ancien1'\";
$query3= odbc_do($cnx, $Retour3) or die( \"odbc_error(Données3)\" ) ;
$Result2=odbc_fetch_row($query3);
$Ancien6= odbc_result($query3, \"Account_Type\");

?>
----

<center><?echo $Ancien1;?></center,
<center><?echo $Ancien2;?></center>,
<center><?echo $Ancien5;?></center>,
<center><?echo $Ancien6;?></center>,
<center><?echo $Ancien3.'/'.$Ancien4;?></center>,

<?php
}
?>




Voici mon Script en mysql

<?php session_start();?>
<?php include '/include/config.php';
//connection a la bd
$link=mysql_connect ($ip,$user_sql,$mdp_sql) or die ('Erreur : '.mysql_error ());
mysql_select_db($base_donner) or die ('Erreur :'.mysql_error());


// requête SQL qui compte le nombre total d'enregistrement dans la table et qui
//récupère tous les enregistrements
$select = 'SELECT `MachineName`AccountName`PlayerName` FROM `onlineusers` WHERE 1';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
//selection dans autre table
$select1 = 'SELECT `CurrentLevel``Gender`FROM `playingcharacters` WHERE `PlayerName`=$row["PlayerName"]';
$result1 = mysql_query($select1,$link) or die ('Erreur : '.mysql_error() );
$total1 = mysql_num_rows($result1);
// si on a récupéré un résultat on l'affiche.
if($total) {
    // debut du tableau
    echo ''.\"\n\";
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '----
';
echo 'PlayerName, ';
echo 'AccountName, ';
echo 'Gender, ';

echo ''.\"\n\";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result)and $row1=mysql_fetch_array($result1)) {
echo '----
';
echo ''.$row["PlayerName"].', ';
echo ''.$row["AccountName"].', ';
echo ''.$row1["Gender"].', ';
echo ''.\"\n\";
}
    echo '
'."\n";
    // fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';

// on libère le résultat
mysql_free_result($result);

?>

Erreur : Erreur de syntaxe près de '`PlayerName` FROM `onlineusers` WHERE 1' à la ligne 1

ceci est le code de mon script acctuel ..
il affiche que le nom du joueur en ligne inscrit dans la bd

<?php session_start();?>
<?php include "include/config.php"?> 
<?php 
//connection a la bd
$link=mysql_connect ($ip,$user_sql,$mdp_sql) or die ('Erreur : '.mysql_error ());
mysql_select_db($base_donner) or die ('Erreur :'.mysql_error());


// requête SQL qui compte le nombre total d'enregistrement dans la table et qui
//récupère tous les enregistrements
$select = 'SELECT `PlayerName` FROM onlineusers';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
// si on a récupéré un résultat on laffiche.
if($total) {
    // debut du tableau
    echo ''.\"\n\";
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '----
';
echo 'PlayerName, ';

echo ''.\"\n\";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result)) {
echo '----
';
echo ''.$row["PlayerName"].', ';

echo ''.\"\n\";
}
    echo '
'."\n";
    // fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';

// on libère le résultat
mysql_free_result($result);

?>


pour ceux qui ne comprenne pas

Le script doit allez sur la base dans la table joueur en ligne il prend les informations
soit le nom des joueurs en Ligne.. il les
affiche
Il doit allez dans une autre tables soit playingcharacters ....
cette table contient le nom de tout les personnage et quelque information exemple (CurrentLevel,AttackSkill,DodgeSkill,Gold Appearance,Corpse,XP,StatPnts,SkillPnts,Karma Gender ect)

il selectionne certaine donner et les affiche dans un tableau

1 réponse

lvdmv2 Messages postés 2 Date d'inscription dimanche 10 décembre 2000 Statut Membre Dernière intervention 22 novembre 2009
22 nov. 2009 à 16:15
voici ma correction ...
il y as pas d'erreure mais les donner se saffiche pas
<?php
//connection a la bd
$link=mysql_connect ($ip,$user_sql,$mdp_sql) or die ('Erreur : '.mysql_error ());
mysql_select_db($base_donner) or die ('Erreur :'.mysql_error());


// requête SQL qui compte le nombre total d'enregistrement dans la table et qui
//récupère tous les enregistrements
$select = 'SELECT PlayerName FROM onlineusers';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
//declaration de la wariable .accname
$row = mysql_fetch_array($result);
$accname=$row['PlayerName'];
//selection dans autre table
$select1 = "SELECT CurrentLevel,Gender FROM playingcharacters WHERE PlayerName='".$accname."'";
$result1 = mysql_query($select1,$link) or die ('Erreur : '.mysql_error() );
$total1 = mysql_num_rows($result1);
// si on a récupéré un résultat on l'affiche.
if($total) {
    // debut du tableau
    echo ''.\"\n\";
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '----
';
echo 'PlayerName, ';
echo 'Gender, ';
echo 'level, ';
echo ''.\"\n\";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result) && $row1=mysql_fetch_array($result1)) {
echo '----
';
echo ''.$row["PlayerName"].', ';
echo ''.$row1["Gender"].', ';
echo ''.$row1["CurrentLevel"].', ';
echo ''.\"\n\";
}
    echo '
'."\n";
    // fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';

// on libère le résultat
mysql_free_result($result) && ($result1);

?>

3