Mit PHP Stats und Rank über MYSQL

onkelz98

Registered User
Hi

Brauche mal eure hilfe. Wie kann man über diese Codes mit PHP die MYSQL DB auslesen damit mir die folgenden sachen angezeigt werde.

Map Name
Time
User usw.

Hab keinen plan mehr. Hier mal der Code vielleicht kann mir ja einen helfen
Code:
$this->DBConn->prepareSQL('SELECT m.MapName, m.ServerName, m.Times, mt.PlayerName, mt.minPlayerTime FROM MateMapOnServer m LEFT JOIN (SELECT t1.*, t2.PlayerName FROM (SELECT MapName, ServerName, min(PlayerTime) AS minPlayerTime FROM MateMapTimes GROUP BY MapName, ServerName) t1, MateMapTimes t2 WHERE ((t1.MapName = t2.MapName) AND (t1.ServerName = t2.ServerName) AND (t1.minPlayerTime = t2.PlayerTime))) mt ON ((m.MapName = mt.MapName) AND (m.ServerName = mt.Servername)) WHERE (m.ServerName =@ServerName)); 
$this->DBConn->addParameter('ServerName', OMNISCIENT_STORAGE_STRING, $ServerName); 
$res = $this->DBConn->execSQL(); 
$Maps = array(); 
while ($this->DBConn->fetch($res)) { 
$Data = array( 
'MapName' => $this->DBConn->asString(0), 
'ServerName' => $this->DBConn->asString(1), 
'Times' => $this->DBConn->asInt(2), 
'TopPlayer' => $this->DBConn->AsString(3), 
'TopTime' => $this->DBConn->asInt(4) 
); 
array_push($Maps, $Data); 
} 
$this->DBConn->free_result($res);
 
Last edited by a moderator:
Ich verstehe Dein Problem nicht. Bzw. Du hast nicht wirklich gesagt was nicht geht.
Funktioniert der Code nicht, oder hängt es an der Ausgabe?

Der Code generiert ein 2dimensionales Array. Um Felder anzusprechen nutzte Du diesen Syntax als Beispiel:
Code:
$Maps[0]['MapName']
Dies gibt aus der ersten Zeile ("0") den MapName.

huschi.
 
Ups sorry mein Fehler.

Wollte das hier gestern abend noch rein schreiben.

Das hier habe ich mal versucht
Code:
<?PHP
 
/* Datenbankserver - In der Regel die IP */
$db_server = '';
/* Datenbankname */
$db_name = '';
/* Datenbankuser */
$db_user = '';
/* Datenbankpasswort */
$db_passwort = '';

/* Erstellt Connect zu Datenbank her */
$db = @ mysql_connect ( $db_server, $db_user, $db_passwort )
or die ( 'Konnte keine Verbindung zur Datenbank herstellen' );
$db_check = @ mysql_select_db ( $db_name );
if ( $db )
$this->DBConn->prepareSQL('SELECT m.MapName, m.ServerName, m.Times, mt.PlayerName, mt.minPlayerTime FROM MateMapOnServer m LEFT JOIN (SELECT t1.*, t2.PlayerName FROM (SELECT MapName, ServerName, min(PlayerTime) AS minPlayerTime FROM MateMapTimes GROUP BY MapName, ServerName) t1, MateMapTimes t2 WHERE ((t1.MapName = t2.MapName) AND (t1.ServerName = t2.ServerName) AND (t1.minPlayerTime = t2.PlayerTime))) mt ON ((m.MapName = mt.MapName) AND (m.ServerName = mt.Servername)) WHERE (m.ServerName =@ServerName)); 
$this->DBConn->addParameter('ServerName', OMNISCIENT_STORAGE_STRING, $ServerName); 
$res = $this->DBConn->execSQL(); 
$Maps = array(); 
while ($this->DBConn->fetch($res)) { 
$Data = array( 
'MapName' => $this->DBConn->asString(0), 
'ServerName' => $this->DBConn->asString(1), 
'Times' => $this->DBConn->asInt(2), 
'TopPlayer' => $this->DBConn->AsString(3), 
'TopTime' => $this->DBConn->asInt(4) 
); 
array_push($Maps, $Data); 
} 
$this->DBConn->free_result($res); 
{
echo 'Verbindung zur Datenbank wurde hergestellt';
}
 
?>

aber bekomme beim aufruf
Parse error: parse error, unexpected T_STRING in /var/www/web1/html/test.php on line 18[/QUOTE]
 
Back
Top