PHP Daten in ein .js Dokument einbinden.

partyjunky

Grünschnabel
Hoffe dass es der Richtige Thread ist.

Also versuche ein Chained Select menu einzubinden. Habe dazu auch einen brauchbaren Code im Netz gefunden (Wer es wissen will: http://www.dynamicdrive.com/dynamicindex1/chainedmenu/index.htm) Dort sind auch die vier Dateien um die es geht.

Also html einbinden in die Seite klappt, das Sample im ursprünglichen Zustand auch. Nun zu meinem Anliegen.

In der config.js werden die möglchen Werte definiert. Dies ist in dem Beispiel statisch gelöst. Da ich aber wechelnde Werte habe und über 1000 wollte ich das über eine php Abfrage und Datenbank machen.
HTML:
//var hide_empty_list=true; //uncomment this line to hide empty selection lists
var disable_empty_list=true; //uncomment this line to disable empty selection lists

var onclickaction="alert" //set to "alert" or "goto". Former is for debugging purposes, to tell you the value of the final selected list that will be used as the destination URL. Set to "goto" when below configuration is all set up as desired. 

var newwindow=0 //Open links in new window or not? 1=yes, 0=no.

/////DEFINE YOUR MENU LISTS and ITEMS below/////////////////                   ab hier sollen die Werte der php stehen

addListGroup("chainedmenu", "First-Select");

addOption("First-Select", "Select an item", "", 1); //HEADER OPTION
addList("First-Select", "Webmaster Resources", "", "Webmaster");
addList("First-Select", "News Sites", "", "News");
addList("First-Select", "Car Sites", "", "Cars");

addOption("Webmaster", "Select an item", "", 1); //HEADER OPTION
addList("Webmaster", "JavaScript Links", "", "Webmaster-JavaScript");
addList("Webmaster", "PHP Links", "", "Webmaster-PHP");
addOption("Webmaster", "CodingForums.com", "http://www.codingforums.com"); //END OF THIS NODE

addOption("Webmaster-JavaScript", "Select an item", "", 1); //HEADER OPTION
addOption("Webmaster-JavaScript", "JavaScript Kit", "http://www.javascriptkit.com");
addOption("Webmaster-JavaScript", "Dynamic Drive", "http://www.dynamicdrive.com");
addOption("Webmaster-JavaScript", "JavaScript Reference", "http://www.javascriptkit.com/jsref/");

addOption("Webmaster-PHP", "Select an item", "", 1); //HEADER OPTION
addOption("Webmaster-PHP", "PHP.net", "http://www.php.net");
addOption("Webmaster-PHP", "mySQL", "http://www.mysql.com");

addOption("News", "Select an item", "", 1); //HEADER OPTION
addList("News", "General News", "", "News-General");
addList("News", "Tech News", "", "News-Tech");

addOption("News-General", "Select an item", "", 1); //HEADER OPTION
addOption("News-General", "CNN", "http://www.cnn.com");
...
/////DEFINE YOUR MENU LISTS and ITEMS below///////////////// Ab hier sollen die php Ausgaben stehen. (Falls durch die Border oben nicht zu sehen ist)

Die .php liest für sich das auch korrekt aus (habe es seperat getestet) und bildet die 1500 Werte starke Liste. (3x mysql_fetch_array mit echo)

Wenn ich die php aber (wie ich dachte) an die stelle der statischen Daten in der config.js schreibe passiert nichts. Wie gebe ich innerhalb der Datei die php Werte aus. Habe schon seit gestern viel ausprobiert aber es klappt nur nicht.

Es soll am Ende so sein, dass die Werte für die config.js durch die php eingelesen werden sobald es gebraucht wird, dami die Auswahlmöglichkeiten immer aktuell s
 
Moin,


Wenn ich die php aber (wie ich dachte) an die stelle der statischen Daten in der config.js schreibe passiert nichts.

heisst die Datei immer noch config.js ?

Falls ja, benenne sie um in config.php (Pfad natürlich entsprechend anpassen)
Um es ganz lupenrein zu machen, sende eingangs noch den entsprechenden Header:
Code:
<?php
header('Content-Type:text/javascript');
?>
 
Danke für die schnelle Antwort, werde es gleich mal testen.

Zu früh gefreut, es klappt noch nicht. Was ich nun gemacht habe.

Die Datei sieht folgendermaßen aus:

PHP:
<?php
header('Content-Type:text/javascript');
//var hide_empty_list=true; //uncomment this line to hide empty selection lists
var disable_empty_list=true; //uncomment this line to disable empty selection lists

var onclickaction="alert" //set to "alert" or "goto". Former is for debugging purposes, to tell you the value of the final selected list that will be used as the destination URL. Set to "goto" when below configuration is all set up as desired. 

var newwindow=0 //Open links in new window or not? 1=yes, 0=no.

/////DEFINE YOUR MENU LISTS and ITEMS below/////////////////
?>
<?php $Mein Auslesescript.......?>


in meiner header.php waren die .js eingelesen worden, dort habe ich die config.js auch in config.php umbenannt.

ich aknn auch einen umweg gehen, wenn es einfach wird, dass die auslese.php seperat gespeichtt wird und nur die ergebnisse eingelesen werden, klappt bisher auch nicht.
 
Also so?

PHP:
//var hide_empty_list=true; //uncomment this line to hide empty selection lists
var disable_empty_list=true; //uncomment this line to disable empty selection lists

var onclickaction="alert" //set to "alert" or "goto". Former is for debugging purposes, to tell you the value of the final selected list that will be used as the destination URL. Set to "goto" when below configuration is all set up as desired. 

var newwindow=0 //Open links in new window or not? 1=yes, 0=no.

/////DEFINE YOUR MENU LISTS and ITEMS below/////////////////
<?php
header('Content-Type:text/javascript');?>
<?php $Mein Auslesescript.......?>
 
Sieht jetzt so aus

PHP:
<?php
header('Content-Type:text/javascript');
?><script>
//var hide_empty_list=true; //uncomment this line to hide empty selection lists
var disable_empty_list=true; //uncomment this line to disable empty selection lists

var onclickaction="alert" //set to "alert" or "goto". Former is for debugging purposes, to tell you the value of the final selected list that will be used as the destination URL. Set to "goto" when below configuration is all set up as desired. 

var newwindow=0 //Open links in new window or not? 1=yes, 0=no.
</script>
/////DEFINE YOUR MENU LISTS and ITEMS below/////////////////

<?php....

klappt immer noch nicht, habe auch den ehemaligen .js code in <script> zu klammernversucht, aber sowohl als auch immer noch keine ausgabe. für das gesamtprogramm ist die liste immer noch leer.
 
Ok habe eine Idee was es sein könnte: Naive frage wie lese ich ein php ein, also vorab im header oder auch woanders. habe nur die .js umbenannt und dort wahrscheinlich nach dem firebug den fehler:

sieht im header so aus, und da php kein script ist, funktioniert es wahrscheinlich nicht richtig. wie binde ich des korrekt ein? Muss nicht im header sein kann auch in die html des menu layouts.
PHP:
echo '<script type="text/javascript" src="templates/' . CURRENT_TEMPLATE . '/javascript/config.php"></script>';
 
Wenn PHP sagt, es ist text/javascript, dann ist es das...AUS MAUS.

Wenn Firebug einen Fehler meldet, dann ist es wenig erkenntnisfördernd, diesen für sich zu Behalten.



Weiterhin: Unterlasse es bitte, identische Themen in anderen Subforen zu Erstellen...1x reicht.
 
Zurück