[Erledigt] Mirror-Datenbank auslesen

Begonnen von Jenzo, 10 Februar 2009, 14:34:31

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Jenzo

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  ;))
Man muss forschen, um zu wissen
wissen, um zu verstehen
verstehen, um zu urteilen

m-t

mach mal das include nach:

if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");

rein, nicht am ende des scripts

Jenzo

Ok, hab ich gemacht. Aber keine Änderung.
Achso und als Ausgabe von $name bringt er mir den Namen des Moduls
Man muss forschen, um zu wissen
wissen, um zu verstehen
verstehen, um zu urteilen

m-t

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 ?

Jenzo

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.
Man muss forschen, um zu wissen
wissen, um zu verstehen
verstehen, um zu urteilen

Jenzo

#5
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?
Man muss forschen, um zu wissen
wissen, um zu verstehen
verstehen, um zu urteilen

Barbeytes

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.

Jenzo

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~~~
Man muss forschen, um zu wissen
wissen, um zu verstehen
verstehen, um zu urteilen