Möchte gerne über ein Modul Spielstände eines Browsergames aus einer Mirror-Datenbank auslesen.
Die Datenbank wird von meinem Hoster zur Verfügung gestellt.
Habe mir eine config.php erstellt:<?php
$dbhost='localhost';
$dbuser='XXXdbuserXXX';
$dbpass='XXXdbpassXXX';
$db='XXXdbXXX';
$dblink = mysql_connect($dbhost, $dbuser, $dbpass);
if (!$dblink) {
die('Keine Verbindung zur Datenbank moeglich.');
}
// Datenbank auswählen
$dbselected = mysql_select_db($db, $dblink);
if (!$dbselected) {
die ('Kann Datenbank nicht erreichen.');
}
?>
welche ich dann in die index.php includet habe:
<?php
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");
// get the modul name
$module_name = basename(dirname(__FILE__));
// right blocks on = 1, off = 0
$index = 0;
$naam = $cookie[1];
$stamm = mysql_query("SELECT * FROM `Tabelle` WHERE id = '0815'");
while($row = mysql_fetch_assoc($stamm))
{
$id = $row['id'];
$name = $row['name'];
$tag = $row['tag'];
$members = $row['members'];
$points = $row['points'];
}
include("config.php");
include("header.php");
OpenTable();
echo "<div align='center'><div style='text-align:left;'>";
echo "<table border=\"0\" cellspacing=\"1\" cellpadding=\"3\" bgcolor=\"$bgcolor1\">\n";
echo "<tr valign=\"top\"><td bgcolor=\"$bgcolor2\"><b>1.Punkte:</b></td><td bgcolor=\"$bgcolor3\"><b>$name</b></td></tr>\n";
echo "<tr valign=\"top\"><td bgcolor=\"$bgcolor2\"><b>2.Punkte:</b></td><td bgcolor=\"$bgcolor3\"><b>$tag</b></td></tr>\n";
echo "<tr valign=\"top\"><td bgcolor=\"$bgcolor2\"><b>3.Punkte:</b></td><td bgcolor=\"$bgcolor3\"><b>$members</b></td></tr>\n";
echo "</table>";
CloseTable();
include("footer.php");
?>
Nur leider funktionierts nicht so wie ichs mir vorstelle.
Vermute mal, das es nicht auf die richtige DB zugreift oder mir ist wo ein Anfänger-Fehler unterlaufen(was wahrscheinlicher ist ;))
mach mal das include nach:
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");
rein, nicht am ende des scripts
Ok, hab ich gemacht. Aber keine Änderung.
Achso und als Ausgabe von $name bringt er mir den Namen des Moduls
Zitat von: Jenzo am 10 Februar 2009, 14:34:31
Die Datenbank wird von meinem Hoster zur Verfügung gestellt.
Du siehst die Datenbank aber schon bei dir im phpmyadmin ?
oder liegt die auf einem anderen Server ?
Ich kann die DB mit phpmyadmin öffnen, kann aber keine Veränderungen vornehmen.
Sie müsste auch auf den selben Server liegen.
Die DB vom pmx hat aber nen anderen Namen+PW.
Ok, habe es jetzt folgend geregelt:<?php;
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");
// get the modul name
$module_name = basename(dirname(__FILE__));
// right blocks on = 1, off = 0
$index = 0;
include("config-ds.php");
include("header.php");
OpenTable();
$query_ausgabe = "SELECT * FROM `de29-tribe` WHERE ally = '5906' ORDER BY points DESC";
echo $sql;
$ausgabe = mysql_query($query_ausgabe) or die(mysql_error());
echo "<html><body>
<p align='center'><table><tr><td width='150'>Name:</td><td width='50'>Dörfer:</td><td width='70'>Punkte:</td><td>Rang:</td>";
while ($row = mysql_fetch_array($ausgabe))
echo urldecode ("<tr><td><a href='http://seite.tld/game.php?&screen=info_player&id=$row[0]' target='_blank'>$row[1]</a></td><td>$row[3]</td><td>$row[4]</td><td>$row[5]</td>");
echo "</table></body></html>";
CloseTable();
include("footer.php");
?>
und die Datei mit den Zugangsdaten für die Mirror-DB hab ich ins Hauptverzeichnis gelegt.
Nun habe ich das Problem, das die Seite eigentlich in UTF-8 ausgegeben werden müsste.
Aber wenn ich in den Header<?php header("Content-Type: text/html; charset=utf-8"); ?>
einfüge, wird der Zeichensatz vom pmx geändert.
Lösungsvorschläge?
Hi,
eigentlich brauchst Du den charset=utf-8 nicht mehr angeben.
Die Tabelle in der Datenbank müsste (glaube ich) auf latin1_swedish_ci eingestellt sein.
Zitat von: Barbeytes am 16 Februar 2009, 19:47:38
Hi,
eigentlich brauchst Du den charset=utf-8 nicht mehr angeben.
Die Tabelle in der Datenbank müsste (glaube ich) auf latin1_swedish_ci eingestellt sein.
Danke, aber es geht nicht um die pmx-DB.
Hab das Problem gelöst (utf8_decode())
Somit ~~~Closed~~~