Hallo Sven,
generell ist das schon möglich. So wie es in dem
Codebeispiel beschrieben ist, wird das aber nicht
funktionieren. Wir benötigen dafür Javascript und AJAX.
Der PHP-Code muss vollkommen in eine externe PHP-Datei
ausgelagert werden.
Die PHP Datei beinhaltet dann den Datenbankzugriff, z.B.
so:
getData.php:
$sql = "SELECT \* FROM TABELLE;";
mysql\_connect("server", "benutzername",
"passwort") or die("Fehler: Verbindung zur Datenbank
konnte nicht hergestellt werden!");
mysql\_select\_db("datenbankname") or die("Fehler:
Verbindung zur Datenbank konnte nicht hergestellt
werden!");
$resQuery = mysql\_query($sql);
$row = mysql\_fetch\_array($resQuery);
$result = "
";
$result .= „Testdaten 1:blush:row[0]“;
$result .= „Testdaten 2:blush:row[1]“;
$result .= „“;
echo $result;
?>
Nun brauchen wir noch die HTML Datei in welcher per
Klick auf einen Button ein Javascript aufgerufen wird,
welches das PHP-File ausführt und das „echo“ der Datei
in einem bestimmten Bereich im body ausgibt.
mySite.html:
function AJAXfunction()
{
var xmlHttp;
try
{
xmlHttp=new
XMLHttpRequest();
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject('Msxml2.XMLHTTP');
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject('Microsoft.XMLHTTP');
}
catch
(e)
{
alert('Dein Browser kann kein AJAX! Verwende bitte einen
anderen Browser!');
return
false;
}
}
}
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.getElementById('divContainer').innerHTML =
xmlHttp.responseText;
}
}
xmlHttp.open('GET','getData.php',true);
xmlHttp.send(null);
}
Noch nichts
da...
Wenn das ganze automatisch ausgeführt werden soll, kann
man das PHP-Skript auch in „“ einsetzen,
und eine Abfrage einbauen, das die Daten erst nachdem
laden der HTML-Seite ausgeführt wird.
Achtung: Wenn viele Daten abgeholt werden, rät es sich
beim Javascript im „if-Zweig“ von ReadyState, noch eine
else-Verzweigung einzubauen in welcher im angegebenen
Bereich eine Info angezeigt wird, in welcher über das
Laden der Daten informiert wird.
Ich hoffe ich konnte helfen.
Viele Grüße,
VBMichi