PHP + JavaScript: Variablenübergabe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP + JavaScript: Variablenübergabe

    Ich lese mit PHP Zeug aus einer Datenbank und möchte dieses per Javascript weiterverarbeiten. Gibt es dazu noch andere, elegantere Wege als versteckte <input> Elemente im HTML zu verwenden?

  • #2
    Was spricht gegen
    Code:
    <script language="JavaScript"><--
    var abc = <?=$xyz;?>;
    //-->
    </script>
    ?
    Zu un"elegant"?

    Wenn du von JavaScript Daten nach PHP übergeben willst, brauchst du <input>s, oder du übergibst sie mit GET
    Zuletzt geändert von Rumo; 16.05.2005, 20:50.
    Es ist nicht deine Schuld, dass die Welt ist, wie sie ist,
    Es wär nur deine Schuld, wenn sie so bleibt

    Kommentar


    • #3
      Hmm, stimmt, ist mir irgendwie nicht eingefallen. Wahrscheinlich weil ich immer mit externen .js Dateien arbeite. Danke.

      Kommentar


      • #4
        Ok, so weit, so gut. Wie kann ich jetzt ein Array übergeben? Direkt funktioniert das nicht, steht immer nur "Array" in der Javascript Variable...
        Bitte sagt mir nicht, dass ich jedes Arrayfeld in einzelne Javascript Variablen abspeichern muss.

        Kommentar


        • #5
          Auch Javascript kennt Arrays - also schau dir die Syntax dafür an, und erzeuge mit deinem PHP-Script entsprechenden Code.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Heisst das, ich muss was in der Art machen:
            Code:
            <?php
              $i = count($array);
              echo "<script language=\"javascript\">
                var array = new Array($i);"
              for($j = 0; $j < $i; $j++)
              {
                echo "array[$j] = $array[$j];";
              }
              ...
            Das wäre recht hässlich...vor allem wenn das Array sehr viele Werte enthält.

            Kommentar


            • #7
              in etwa ja, aber so nicht

              Kommentar


              • #8
                Original geschrieben von zagibu
                Das wäre recht hässlich...vor allem wenn das Array sehr viele Werte enthält.
                Ist das übergeben so vieler Werte von PHP nach JS nicht sowieso "hässlich" ...?


                Aber du kannst natürlich auch gerne unserialize in JS nachbauen, dann brauchst du von PHP aus nur einen einzigen String ausgeben - das serialisierte Array ...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Ihr macht beide den Eindruck, als wüsstet ihr genau, wie es gemacht werden muss. Wieso sagt ihr es mir nicht einfach? Euer lehrerhaftes Verhalten wäre löblich, wenn ich euer Schüler wär, doch da dies nicht der Fall ist...
                  Nun ja, wahrscheinlich sollte ich eurer Meinung nach erst mal die Grundlagen lernen, bevor ich mich mit diesem Zeug herumschlage, aber da ihr wohl beide nicht bereit seid, mir diese beizubringen (und ich sowieso keine Zeit dazu hätte), lassen wir diese Möglichkeit mal aussen vor.

                  Übrigens habe ich die Frage im Brainstorming Board gestellt, weil ich echt nicht weiss, ob ich überhaupt auf dem richtigen Weg bin. Das Endziel wäre ein graphisches Frontend auf Javascript Basis, welche dem User die Manipulation von Daten aus einer Datenbank ermöglichen soll. Javascript brauche ich deshalb, weil eine Manipulation viele Verarbeitungsschritte erfordert, die keinen Serverzugriff erfordern, und deshalb Traffic gespart werden könnte, indem man all diese Schritte lokal durchführt, und nur eine Verbindung zum Server aufbaut um einen Datensatz zu holen oder die Ergebnisse der Manipulation zurückzuschreiben.
                  Wenn ich mich mit meinem Ansatz völlig auf dem Holzweg befinde, wäre ich natürlich froh, wenn mir das jemand sagen würde. Auch über Hinweise bezüglich Themengebieten, mit welchen ich mich im Zusammenhang mit oben beschriebenem Sachverhalt näher befassen sollte, wäre ich froh.

                  Kommentar


                  • #10
                    Original geschrieben von zagibu
                    Ihr macht beide den Eindruck, als wüsstet ihr genau, wie es gemacht werden muss.
                    In Bezug auf deine eingangs gestellte Frage - ja, ich denke schon.
                    Wieso sagt ihr es mir nicht einfach?
                    Weil mein Verständnis von Hilfe in einem Forum nicht im Servieren von fertigem Code besteht.
                    Euer lehrerhaftes Verhalten wäre löblich, wenn ich euer Schüler wär, doch da dies nicht der Fall ist...
                    Was bist du dann?
                    Jemand, der sich möglichst wenig mit der Technik, die er verwendet, beschäftigen möchte, und gerne eine "Lösung" hätte?
                    Nun, sowas nenne ich kostenpflichtigen Support. Findest du im Web sicher auch zahlreich genug, wenn es das sein sollte, was du willst.
                    Nun ja, wahrscheinlich sollte ich eurer Meinung nach erst mal die Grundlagen lernen, bevor ich mich mit diesem Zeug herumschlage,
                    Natürlich bin ich dieser Meinung.
                    Ohne Fleiß kein Preis,
                    Von nichts kommt nichts
                    etc.
                    aber da ihr wohl beide nicht bereit seid, mir diese beizubringen (und ich sowieso keine Zeit dazu hätte), lassen wir diese Möglichkeit mal aussen vor.
                    Da sind wie wieder an dem Punkt, was ein Forum nicht ist.
                    Ein Forum ist kein Vorleseservice; detailierte und qualitativ gute Dokumentationen gibt es zahlreich im Netz (für Javascript sei bspw. mal selfhtml genannt) - also nutze sie bitte. Dir das, was dort gut beschrieben steht, hier noch mal extra zu verklickern, kann nicht Sinn eines Forums sein.

                    Wenn du dich damit beschäftigt hast, und sich dir Detailfragen stellen sollten, deren Beantwortung du durch Studium vorhandener Quellen nicht selbst erarbeiten kannst - dann stehen wir dir hier sicher gern mit Rat und Tipps zur Seite.

                    Wenn du aber gleich damit kommst, dass du dazu "keine Zeit" hättest - nun, das ist natürlich grundsätzlich nachvollziehbar, "Zeit ist Geld", etc.
                    Wenn du also Zeit sparst, hast du dadurch ja einen gewissen Vorteil. Nur sollte aus diesem Vorteil für dich ja kein Nachteil für einen anderen entstehen - in dem er erneut Zeit für dich aufwendet, obwohl andere dies bereits in mehr als ausreichendem Maße getan haben (siehe oben, vorhandene Quellen und Dokumentationen im www).
                    Also könntest du die Zeit, die jemand anderes für dich aufwendet, natürlich wieder entsprechend entlohnen - womit wir wieder bei kostenpflichtigem Support sind, siehe oben.
                    So funktioniert, wenn ich mich nicht allzusehr irre, unser komplettes marktwirtschaftliches System ...

                    Übrigens habe ich die Frage im Brainstorming Board gestellt, weil ich echt nicht weiss, ob ich überhaupt auf dem richtigen Weg bin.
                    Dann wundert es mich, dass du gleich mit einer Frage zu einem Detailproblem einsteigst - anstatt erst mal die Sinnhaftigkeit des großen Ganzen zu erörtern. (Aber gut, diesen Punkt hast du ja jetzt nachgeholt.)

                    Das Endziel wäre ein graphisches Frontend auf Javascript Basis, welche dem User die Manipulation von Daten aus einer Datenbank ermöglichen soll. Javascript brauche ich deshalb, weil eine Manipulation viele Verarbeitungsschritte erfordert, die keinen Serverzugriff erfordern, und deshalb Traffic gespart werden könnte, indem man all diese Schritte lokal durchführt, und nur eine Verbindung zum Server aufbaut um einen Datensatz zu holen oder die Ergebnisse der Manipulation zurückzuschreiben.
                    Klingt - so lange man die Nutzbarkeit von Javascript beim Anwender garantieren kann - nachvollziehbar und nicht zu abwegig.
                    (Beim "garantieren" hier aber bitte aufpassen - allzu viele Leute verwechseln gerne ihre sog. "Zielgruppe" mit der Gruppe der Leute, der sie letztendlich die Nutzung ihrer Anwednung durch die Wahl der Technik ermöglichen bzw. nicht ermöglichen - das ist aber das Pferd von hinten aufgezäumt.)

                    Auch über Hinweise bezüglich Themengebieten, mit welchen ich mich im Zusammenhang mit oben beschriebenem Sachverhalt näher befassen sollte, wäre ich froh.
                    Hier sind wir wieder an dem Punkt, wo du dich mit den Grundlagen in ausreichendem Maße auseinandersetzen musst.
                    • Wie bekomme ich meine Datensätze vom Server in ein für den Client verarbeitbares Format, und wie übergebe ich sie?
                    • Wie soll die Verarbeitung der Daten clientseitig erfolgen? Welche Schritte sind nötig, wie gehe ich das Ganze an?
                    • Wie bekomme ich die Daten zurück auf den Server, um sie dort wieder abspeichern zu können?
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Ich glaube mit diesem langen Posting hast du mehr Zeit aufgewendet, als wenn du einfach kurz die Frage beantwortet hättest.
                      Ich habe nirgends fertigen Code verlangt. Fertigen Code hab ich sowieso nicht so gern, weil dessen Anpassung meist mehr Zeit benötigt, als wenn ich ihn von Grund auf neu schreiben würde.
                      Ich würde mich sehr gerne ausgiebig mit der Technik befassen, doch leider ist mir das aus Zeitgründen nicht möglich. Kostenpflichtigen Support für die Erfüllung einer Freizeitbeschäftigung zu beschaffen finde ich ein wenig überrissen.
                      Deine tollen Quellen (SelfHTML hast du ja erwähnt) taugen nur wenig. Auf SelfHTML habe ich innerhalb von 5 Minuten nichts zum Thema Arrays in Javascript gefunden (mit Hilfe von Google dann schon, aber aus anderer Quelle). Nichts gegen SelfHTML, ich verwende es schon länger, aber in Sachen Javascript finde ich es nicht so geeignet.
                      Deine Frageliste zu den Themengebieten am Ende deines Postings verstärkt nur mein Gefühl, dass es dir gefällt, Newbies möglichst "rätselhafte" Anweisungen zu geben, die zwar oberflächlich deine "Pflicht" in diesem Forum erfüllen, aber eigentlich überhaupt keine Hilfe sind. Oder wie meinst du soll ich sie in Stichworte umwandeln, nach denen ich dann in Inhaltsverzeichnissen suchen kann?
                      Abschliessend möchte ich noch sagen, dass ich mich bemühe, nicht wie ein "ichwilldassmireinermeinzeugcodet"-Newbie daherzukommen. Falls es mir nicht gelingt, so tut mir das Leid.

                      Die Frage bleibt: Wie verarbeite ich ein Array von Werten aus PHP in Javascript? Alle meine Quellen (SelfHTML, Quakenet PHP Tutorial, HTML4 von DATA BECKER, Google) schweigen dazu.

                      Kommentar


                      • #12
                        Original geschrieben von zagibu
                        Ich glaube mit diesem langen Posting hast du mehr Zeit aufgewendet, als wenn du einfach kurz die Frage beantwortet hättest.
                        Da kannst du mal sehen, wie viel Zeit ich hier darauf verwende, qualitativ hochwertige Antworten zu geben, und nicht nur Codeschnippsel hinzurotzen, mit denen der Lerneffekt beim Fragenden nachher immer noch nahe Null wäre.
                        Ich würde mich sehr gerne ausgiebig mit der Technik befassen, doch leider ist mir das aus Zeitgründen nicht möglich. Kostenpflichtigen Support für die Erfüllung einer Freizeitbeschäftigung zu beschaffen finde ich ein wenig überrissen.
                        Wenn es deine Freizeitbeschäftigung ist verstehe ich nicht, warum du dir die Zeit nicht nehmen kannst.
                        Wenn du von dir selbst verlangst, von jetzt auf gleich Ergebnisse zu erzielen, ist deine Herangehensweise falsch.
                        Deine tollen Quellen (SelfHTML hast du ja erwähnt) taugen nur wenig. Auf SelfHTML habe ich innerhalb von 5 Minuten nichts zum Thema Arrays in Javascript gefunden (mit Hilfe von Google dann schon, aber aus anderer Quelle).
                        Tut mir leid, dann bist du offenbar zu !&$%, 'tschuldige, nicht in der Lage, eine einfache Suchaufgabe zu lösen.
                        de.selhtml.org -> Javascript/DOM -> Objektreferenz -> Array (Ketten von Variablen)
                        Selbst wenn dieser Navigationsweg von dir zu viel verlangt sein sollte, hättest du die m.W. überall im Kopf der selfhtml-Seiten verlinkte Navigationshilfe "Quickbar" nutzen, und dort im Bereich Javascript aus dem Selectfeld das Wort "Array" auswählen können - und du wärst an der gleichen Stelle gelandet.
                        Willst du mir jetzt ernsthaft erzählen, dass du dazu nicht in der Lage bist?

                        Deine Frageliste zu den Themengebieten am Ende deines Postings verstärkt nur mein Gefühl, dass es dir gefällt, Newbies möglichst "rätselhafte" Anweisungen zu geben, die zwar oberflächlich deine "Pflicht" in diesem Forum erfüllen, aber eigentlich überhaupt keine Hilfe sind.
                        Diese Fragen zu beantworten sehe ich für das, was du umsetzen willst, als Grundvoraussetzung an.
                        Da aber viele "Newbees" nicht einmal in der Lage sind, sich zuerst mal die richtigen Fragen zu stellen, helfe ich an der Stelle gerne weiter.
                        Oder wie meinst du soll ich sie in Stichworte umwandeln, nach denen ich dann in Inhaltsverzeichnissen suchen kann?
                        Wenn du wirklich noch keine dieser Fragen beantworten kannst, ohne dich dafür erst auf die "Suche" machen zu müssen (wie toll du das kannst, haben wir ja ein paar Zeilen weiter oben schon festgestellt) - dann fehlt dir m.E. noch ein großer Teil des erforderlichen Grundlagenwissens, um so eine Aufgabe lösen zu können. Dieses solltest du dir erst mal schrittweise aneignen - ja, auch das wird wieder Zeit kosten. Wenn du die partout nicht haben willst - dann lass es lieber ganz bleiben.

                        Die Frage bleibt: Wie verarbeite ich ein Array von Werten aus PHP in Javascript? Alle meine Quellen (SelfHTML, Quakenet PHP Tutorial, HTML4 von DATA BECKER, Google) schweigen dazu.
                        Was bitte sollen die Quellen dir denn dazu auch noch detailiert sagen?

                        Eine triviale Möglichkeit, die Werte zunächst in versteckten Formularfeldern an den Client zu übermitteln, hast du von Anfang an ausgeschlossen.

                        Dann wurdest du darauf hingewiesen, dass du ja auch mit PHP Javascriptcode ausgeben könntest - Javascript-Arrays beispielsweise.
                        Was brauchst du dazu?
                        Du musst wissen, wie man mit PHP Ausgaben macht (echo, ggf. noch Schleifenkonstrukte zum Durchlaufen deiner Arrays).
                        Und du musst wissen, wie die Syntax in Javascript auszusehen hat, damit du eben diese mittels PHP erzeugen kannst.

                        Ich nehme doch an, spätestens jetzt solltest du beides wissen - also warum bitte lamentierst du hier noch lang und breit herum, anstatt es mal auszuprobieren?
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          Dann sag doch einfach, dass der von mir gepostete Pseudocode den richtigen Ansatz verfolgt, oder weise mich auf eine andere Methode hin. Aber nein, du verläufst dich ja lieber in Grundsatzdiskussionen in denen du nicht einmal bereit bist, einen halben Millimeter von deiner erhabenen Standardvorgehensweise abzurücken. Dass man nicht alle Menschen gleich behandeln kann, ist dir wohl noch nicht aufgefallen.
                          Aber egal. Ich will gar nicht mit dir streiten. Ich habe nämlich so das Gefühl, als wäre das verschwendete Zeit.

                          P.S. Dass ich die Informationen über Javascript-Arrays in SelfHTML nicht gefunden habe, liegt vermutlich daran, dass ich mich mit objektorientierter Programmierung nicht auskenne, und darum nicht darauf gekommen bin, in einer Objektreferenz danach zu suchen. Hab alle vorderen Sektionen über Variablen durchgelesen. Dass ich die SelfHTML Suche nicht verwendet habe ist mir tatsächlich ein wenig peinlich, und ich kann nicht erklären, warum.

                          Kommentar

                          Lädt...
                          X