php-Übergabe an Javascript in Variablen aufteilen

Alles zu den Script-Sprachen Perl / CGI, Java, JavaScript und VBScript

Moderator: Thies

Antworten
Benutzeravatar
Thies
Webmaster
Webmaster
Beiträge: 1482
Registriert: Mo 04 Aug, 2003 8:45 pm
Kontaktdaten:

php-Übergabe an Javascript in Variablen aufteilen

Beitrag von Thies »

Da ich leider Null Ahnung von JavaScript habe, hoffe ich, dass jemand von Euch mir weiterhelfen kann.

Ich weiss, wie ich eine Variable per php an ein JavaScript übergebe:

1. Aufruf

Code: Alles auswählen

<script language="JavaScript" src="showhits.php?type=hits"></script>
2. Übergabe im php-Script

Code: Alles auswählen

echo "document.open()\ndocument.write('".$hits."')\ndocument.close()\n";
Soweit, so gut.

Geht es aber auch, dass ich mehrere Variablen übergebe, z.B. per

Variable1|Variable2|Variable3

Und dann im HTML-Code per JavaScript die drei Variablen getrennt durch das | in neue Variable aufteile und dann per document.write ausgeben kann. Dann kann man nämlich die Ausgabe formatieren Code.

Kann mir jemand dabei helfen?

Danke im Voraus

Frank-Andre
if ( $ahnung == 'keine' ) { use ( Suche ) }
if ( $antwort == 0 ) { post ( $frage ) }
Matthias
User
User
Beiträge: 116
Registriert: Sa 25 Nov, 2006 5:21 pm

Beitrag von Matthias »

Ich versteh jetzt nicht genau, was du machen willst. Du willst per Javascript etwas ins HTML-Dokument schreiben? Wohin? Und was?
Benutzeravatar
Thies
Webmaster
Webmaster
Beiträge: 1482
Registriert: Mo 04 Aug, 2003 8:45 pm
Kontaktdaten:

Beitrag von Thies »

Hi,

es geht um folgendes: das php-Script gibt folgendes aus: Variable1|Variable2|Variable3

Wie bekomme ich es nun hin, dass ein JavaScript diesen Inhalt übernimmt und in drei einzelne Variablen aufsplittet, also

var1 = Variable 1
var2 = Variable 2
var3 = Variable 3

| ist der Trenner

Das JavaScript muss als die Ausgabe des php-Scripts "einlesen", aufsplitten und dann die drei Variablen ausgeben:

var1 = Variable 1, var2 = Variable 2, var3 = Variable 3

Verstanden was ich meine?

Danke

Frank-Andre
if ( $ahnung == 'keine' ) { use ( Suche ) }
if ( $antwort == 0 ) { post ( $frage ) }
Matthias
User
User
Beiträge: 116
Registriert: Sa 25 Nov, 2006 5:21 pm

Beitrag von Matthias »

Den Sinn nicht, aber darum geht es ja nicht :) (Wieso machst du es nicht per PHP?)

In welchem Element steht die Ausgabe drin?

Am einfachsten ist es, wenn du ein Element hast mit einer ID, dann kannst du getElementByID machen. Aufsplitten müsste mit split gehen.

http://de.selfhtml.org/javascript/objek ... ment_by_id
http://de.selfhtml.org/javascript/objek ... .htm#split

Wenn du die Ausgabe auch an einer bestimmten Stelle machen willst, kanns du das wieder über getElementByID usw. dort hinschreiben. Oder eben document.write
Benutzeravatar
Thies
Webmaster
Webmaster
Beiträge: 1482
Registriert: Mo 04 Aug, 2003 8:45 pm
Kontaktdaten:

Beitrag von Thies »

Moin,

es geht um mein eigenes Counter-Script auf http://counter.f-thies.de

Die Seiten die mit dem Counter gezählt werden, liegen ggf. auf anderen Servern, so dass ich nicht immer direkt an die DB ran kann. Wenn ich nun aber drei verschiedene Werte ausgeben lasse, dann müsste ich dreimal ein php-Script aufrufen oder ich müsste das Layout im php-Script vorgeben. Damit kann der Nutzer dann aber am Layout nichts mehr ändern. Um die DB-Performance optimal zu halten, kam ich auf diese Idee mit der Übergabe als "Array".

ist ja auch nur eine Idee :)
if ( $ahnung == 'keine' ) { use ( Suche ) }
if ( $antwort == 0 ) { post ( $frage ) }
Matthias
User
User
Beiträge: 116
Registriert: Sa 25 Nov, 2006 5:21 pm

Beitrag von Matthias »

Und was für Werte willst du da übergeben?

Hat es mit den zwei Funktionen geklappt?
Benutzeravatar
Thies
Webmaster
Webmaster
Beiträge: 1482
Registriert: Mo 04 Aug, 2003 8:45 pm
Kontaktdaten:

Beitrag von Thies »

Ich muss gestehen, dass ich aus Zeitgründen noch nicht dazu gekommen bin, es weiter zu prüfen.

Übergeben werden Zahlen wie z.B. Besucher heute / Besucher gestern / Pageviews heute .....
if ( $ahnung == 'keine' ) { use ( Suche ) }
if ( $antwort == 0 ) { post ( $frage ) }
Antworten