MySQL-Daten in Javascript per PHP

  • Themenstarter Themenstarter Sealtuagn
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
S

Sealtuagn

Hy....

Ich wollte mal fragen,
ob jemand weis, wie ich per PHP ausgelesene Daten aus einer MySQL-Datenbank
in einen Javascript-Array zu übergeben.

Mir fällt da nichts ein, denn normalerweise heißt es ja, das das nicht funktioniert, da Javascript ja Client-Seitig und PHP Server-Seitig ist.
 
Nur ich habe leider mein Javascript in einer .js-Datei.
also in einer javaScript-Datei.
und da funktioniert das nicht.

Ich habe eine PHP-Datei.
Zwischen <script> und </script>
muss dann meine funktion stehen, die ich schon fertig habe und die initiierung des Array's.

Und das ist mein Problem !
 
HÄÄ ?
Ich muss die Daten IN den Array schaufeln, und nicht AUS dem Array raus.
Und das ist das Problem, weil Javascript Client-Seitig und PHP Server-Seitig ist.

Das soll aber irgendwie gehen,. und ich will die Date, die ich per PHP aus der Datenbank lese, in einen Java-Script-Array speichern !

Weist du, was ich muss ?
 
Das wird doch unter dem Link beschrieben.
Wenn ich Dich richtig verstanden habe, erstellst Du in der PHP-Datei einen <script>-Bereich. In diesem kannst Du das Array doch nach der verlinkten Methode als JavaScript-Array erstellen. Das Skript in diesem <script>-Bereich muss dann nur noch mit dem erstellten Array als Parameter die Methoden in dem extern verlinkten JavaScript aufrufen.
Wenn das nicht als Erklärung genügt, verstehe ich Dein Problem nicht.

Gruß hpvw
 
Also.. ich gebe mal ein Beispiel...
seht das mal als Code an, der nicht funktionieren kann....

Code:
<script type="text/javascript">
While ( $erg = mysql_fetch_assoc($sql))
{
  var array[1] = $sql['date'];
}
</script>

Verstehst du ?
ich muss IN einem Java-Script PHP anwenden....
und nicht in einem Java-Script PHP anwenden...

Und das weis ich nicht, wie ich das machen muss..
 
Sealtuagn hat gesagt.:
Verstehst du ?
ich muss IN einem Java-Script PHP anwenden....
und nicht in einem Java-Script PHP anwenden...
Jetzt versteh' ich gar nichts mehr. Ich dachte, Du willst ein Array, welches Du in PHP hast, weil Du es mit PHP aus der Datenbank ausliest, in einem JavaScript zur Verfügung haben.
In (egal, ob groß oder klein geschrieben) einem JavaScript kannst Du nicht clientseitig PHP-Code ausführen. Du kannst jedoch mit PHP ein JavaScript schreiben (besser erstellen oder ausgeben (per echo)), welches dynamisch die aktuellen Daten aus der DB enthält. Das geschähe dann serverseitig, während der JavaScript-Code mit den von PHP eingesetzten Daten clientseitig ausgeführt wird.

Gruß hpvw
 
Also...
sowas in der art ahbe ich auch schon...
PHP:
#--------JS---------#
$Ergebnis =  '<script type="text/javascript">';
$Ergebnis .= '<!--';
$Ergebnis .= 'var WarenListe = new Array();';

$Ergebnis .= 'WarenListe[0]               = new Array();';
$Ergebnis .= 'WarenListe[0]["URL"]        = "bump.gif";';
$Ergebnis .= 'WarenListe[0]["plus_leben"] = 0;';
$Ergebnis .= 'WarenListe[0]["plus_mana"]  = 0;';
$Ergebnis .= 'WarenListe[0]["offensive"]  = 0;';
$Ergebnis .= 'WarenListe[0]["defensive"]  = 0;';

$Zeile = 0;
While ($sql_erg_RD_auktion_items = mysql_fetch_assoc($erg_RD_auktion_items))
{
$sql_RD_iteminformation = "SELECT * FROM item_list WHERE ID = '".$sql_erg_RD_auktion_items['item_ID']."'";
$erg_RD_iteminformation = mysql_query($sql_RD_iteminformation);
$sql_erg_RD_iteminformation = mysql_fetch_assoc($erg_RD_iteminformation);

$Zeile += 1;
$Ergebnis .= 'WarenListe['.$sql_erg_RD_auktion_items['ID'].']               = new Array();';
$Ergebnis .= 'WarenListe['.$sql_erg_RD_auktion_items['ID'].']["URL"]        = "/game/images/items/'.$sql_erg_RD_iteminformation['pic'].'";';
$Ergebnis .= 'WarenListe['.$sql_erg_RD_auktion_items['ID'].']["plus_leben"] = "'.$sql_erg_RD_iteminformation['plus_lp'].'";';
$Ergebnis .= 'WarenListe['.$sql_erg_RD_auktion_items['ID'].']["plus_mana"]  = "'.$sql_erg_RD_iteminformation['plus_mana'].'";';
$Ergebnis .= 'WarenListe['.$sql_erg_RD_auktion_items['ID'].']["defensive"]  = "'.$sql_erg_RD_iteminformation['defensive'].'";';
$Ergebnis .= 'WarenListe['.$sql_erg_RD_auktion_items['ID'].']["offensive"]  = "'.$sql_erg_RD_iteminformation['offensive'].'";';
}
$Ergebnis .= '//-->';
$Ergebnis .= '</script>';

So.. aber ich ahbe leider ein Java-Script, das ich in der gleichen Form geschreiben ahben muss... Und das bekomm ich irgendwie nicht hin... kannst du mir das machen ?
Fänd ich total nett von dir:
Code:
function showArtikel(ArtikelNr,Position)
{
	if (ArtikelNr == "") { ArtikelNr = 0; }
        document.getElementById("Bild"+Position).src                           = WarenListe[ArtikelNr]["URL"];
        document.getElementById("plus_leben"+Position).childNodes[0].nodeValue = WarenListe[ArtikelNr]["plus_leben"];
        document.getElementById("plus_mana"+Position).childNodes[0].nodeValue  = WarenListe[ArtikelNr]["plus_mana"];
        document.getElementById("defensive"+Position).childNodes[0].nodeValue  = WarenListe[ArtikelNr]["defensive"];
        document.getElementById("offensive"+Position).childNodes[0].nodeValue  = WarenListe[ArtikelNr]["offensive"];
}

Fänd ich echt voll nett von dir.
Nur diese Funktion MUSS in den <script>-Tags sein...
Wirklich.. fänd ich super..
 
Das entwickelt sich scheinbar zu einem reinen JavaScript-Problem :D und in Sachen JavaScript bin ich nicht so sehr bewandert.
Sind in JS nicht alle außerhalb von Funktionen angegeben Variablen global?
Dann könntest Du den oben geposteten Code doch im head der Seite ausgeben und dann das externe JS einbinden. Das Array sollte dann dort bekannt sein.

Gruß hpvw
 
Status
Nicht offen für weitere Antworten.
Zurück