MySQL-Daten in Javascript per PHP

  • Themenstarter Themenstarter Sealtuagn
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
Das ist leider das Problem...
Deshalb MÜSSEN beiden Codes in dem <script>-Tag sein.
Weil er sonst denkt das wäre ein zweiter stehender Code...

Und da brauche ich halt die Hilfe...
Das ich beides in einem bekomme...
 
Oder meinst du da würde so auch funktionieren ?
PHP:
$Ergebnis =   'function showArtikel(ArtikelNr,Position)';
$Ergebnis .=  '{';
$Ergebnis .=  'if (ArtikelNr == "") { ArtikelNr = 0; }';
$Ergebnis .=  '        document.getElementById("Bild"+Position).src                           = WarenListe[ArtikelNr]["URL"];';
$Ergebnis .=  '        document.getElementById("plus_leben"+Position).childNodes[0].nodeValue = WarenListe[ArtikelNr]["plus_leben"];';
$Ergebnis .=  '        document.getElementById("plus_mana"+Position).childNodes[0].nodeValue  = WarenListe[ArtikelNr]["plus_mana"];';
$Ergebnis .=  '        document.getElementById("defensive"+Position).childNodes[0].nodeValue  = WarenListe[ArtikelNr]["defensive"];';
$Ergebnis .=  '        document.getElementById("offensive"+Position).childNodes[0].nodeValue  = WarenListe[ArtikelNr]["offensive"];';
$Ergebnis .=  '}';

Oder wie meintest du das
Wenn da oben ein Fehler drinne ist: Kannst du mir das, was ich oben hingeschreiben ahbe mal berichtigen ?
 
Hallo.
Also so wie ich das verstehe, soll der gesammt Javascript Code in einem <script> Tag stehen.
Dann mach es doch so wie du schon beschrieben hast. Mach aber beim anlegen des Arrays nicht den Tag zu (</script>) sondern füge direkt dahinter die Funktion an. mache erst dann den Tag zu.

Eine andere Möglichkeit wäre, dass du die Funktion schon dastehen hast und da, wo im Tag das Array sein soll einen Platzhalter setzt. Denn kannst du dann nacher mit dem erstellten Javascript Code ersetzen.

Hab ich das alles richtig verstanden

mb fanste
 
Das Sieht jetzt bei mir so aus:
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 .=  'function showArtikel(ArtikelNr,Position)';
$Ergebnis .=  '{';
$Ergebnis .=  'if (ArtikelNr == "") { ArtikelNr = 0; }';
$Ergebnis .=  '        document.getElementById("Bild"+Position).src                           = WarenListe[ArtikelNr]["URL"];';
$Ergebnis .=  '        document.getElementById("plus_leben"+Position).childNodes[0].nodeValue = WarenListe[ArtikelNr]["plus_leben"];';
$Ergebnis .=  '        document.getElementById("plus_mana"+Position).childNodes[0].nodeValue  = WarenListe[ArtikelNr]["plus_mana"];';
$Ergebnis .=  '        document.getElementById("defensive"+Position).childNodes[0].nodeValue  = WarenListe[ArtikelNr]["defensive"];';
$Ergebnis .=  '        document.getElementById("offensive"+Position).childNodes[0].nodeValue  = WarenListe[ArtikelNr]["offensive"];';
$Ergebnis .=  '}';
$Ergebnis .= '//-->';
$Ergebnis .= '</script>';
#--------JS---------#

Oder wie meinst du das ?
Denn nun habe ich folgenden Fehler;
"Objekt erwartet"
 
Also ich weis es nicht wirklich aber versuche es doch mal so.

Code:
<?php
$sql = 200;
echo "<script type='text/javascript'>";
?>
var test = <?php $sql;
echo "</script>";
?>

Also hab es mal hier mit probiert. Eine Fehlermeldung habe ich nicht bekommen also
schliese ich daraus das es klappt. Nur Müsste ich zum testen mal die Ausgabefunktion
von JS kennen.
 
Zuletzt bearbeitet:
Ist das eine PHP oder Javascript Fehlermeldung? Ist dort auch eine Zeile angegeben? Wenn ja, was befindet sich in dieser Zeile?

PS: Wenn nichts hilft, probier doch mal die 2te Möglichkeit!
 
nee, so ist das schon in Ordnung, wie ich es habe... nur die funktion ist halt etwas kompliziert !

Also so wie es da bei meinem letzten Code steht, ist es auch in meiner Datei...
So... mein Pronlem ist nur:
Wenn er die daten korrekt initiieren würde, dann könnte er die auch lesen !
verstehst du, was ich meine ?
 
Nicht so ganz. Was genau klappt nicht? Wie sieht den der fertige JS-Code im Quelltext aus, kann man da vielleicht den Fehler erkennen?
 
Nur ich habe leider mein Javascript in einer .js-Datei.
also in einer javaScript-Datei.
und da funktioniert das nicht.

Dann gebe der JS-Datei die Endung *.php.


hpvw hat gesagt.:
Das entwickelt sich scheinbar zu einem reinen JavaScript-Problem :D und in Sachen JavaScript bin ich nicht so sehr bewandert.

das sehe ich auch so.
Da wir ein JS-Board haben, wo zu diesem Problem bereits 3 Themen eröffnet wurden, wird das hier geschlossen.

http://www.tutorials.de/forum/showthread.php?p=1095316


@Sealtuagn
du wurdest bereits von einem user auf Netiquette#9 hingewiesen, also halte dich bitte daran.
Danke.
 
Status
Nicht offen für weitere Antworten.
Zurück