php & java scipt problem

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

  • php & java scipt problem

    Hallo,

    in meinem PHP script rufe ich per javascript eine popup script auf welches mir ein dropdownmenü öffnet.

    dieses geschieht per <a href=--- onClick="return functionx(this, event, $menu, width)"

    Das $menu ist ein array der zwar zur zeit des php scriptes durchlaufen jedoch erst wenn ich auf den link klicke ausgeführt wird.
    da ich das ganze in einer php schleife mache, hab ich zum zeitpunkt des drückens auf den link(undzugleich des ausführens des scriptes) immer schon die schleife beendet somit wird mir immer der letzte Wert der Schleife übergeben (ans script).

    Hat einer eine IDee ? Ich kanns leider nicht besser erklären.



    $nr = $daten[$i]; // wert aus der schleife
    echo "<script type=\"text/javascript\">
    var menu2=new Array()
    menu2[0]='<a href=\"index2.php?id=home&a=join&n=$nr\"> join</a>'</script>";

    ?>
    <a href="index2.php?id=home&n=<? echo $entry_nr ?>" onClick="return dropdownmenu(this, event, menu2, '100px')" onMouseout="delayhidemenu()">yyy</a>
    <?

    immer wenn ich auf den link klicke ist der wert $nr = der letzte Wert der schleife.

    Danke für die Tips,
    H0schie

  • #2
    Re: php &amp; java scipt problem

    Original geschrieben von Hoschie
    Das $menu ist ein array der zwar zur zeit des php scriptes durchlaufen jedoch erst wenn ich auf den link klicke ausgeführt wird.
    Bitte was?
    Arrays werden nicht "ausgeführt".

    immer wenn ich auf den link klicke ist der wert $nr = der letzte Wert der schleife.
    Nein, $nr hat diesen Wert schon, bevor du auf den Link klickst - weil PHP serverseitig abläuft, und damit seine Arbeit schon längst beendet hat, bevor die Seite überhaupt beim Client ankommt.

    Ich kanns leider nicht besser erklären.
    Dann kann dir vermutlich auch nicht geholfen werden.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Deine Var $nr kann ja nur den letzten Wert enthalten, da wird der Wert ja jedesmal (bei jedem Schleifendurchlauf) überschrieben und somit steht am Schluss nur der letzte Wert drin.
      Wenn du mehrere Werte willst, dann schreib bei jedem Durchlauf den Wert in ein JS Array. Dieses läufst du nachher durch und erstellst die entsprechenden Links.
      Oder habe ich dein Prob jetzt gar ned verstanden ?

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        HAllo, sorry das mit array durchlaufen ist nicht richtig gewesen, meinte natürlich das script welches menu setzt und menu ist ein array.

        ich versuch es mal besser zu erklären.

        ich lese in schleife ein tabelle die mir einen wert nr zurückgibt.
        diese nummer wird jedesmal per <a href übergeben.

        <a href ="index.php?id=nr(schleifen index)..... onclick="javascript aufruf mit dem menu arryay".

        zu jedem zeitpunkt wo ich den <a href ausgebe, steht in $nr natürlich ein anderer Wert und die Ausgabe ist auch korrekt.
        Vor jedem <a href setzte ich per javascript den menu array mit dem Wert $nr.

        die <a href ´s haben alle den richtigen Wert nr in der Url aber wenn ich dann draufklicke und das popup kommt wo auch der Wert nr stehen sollte, dann steht dort jedesmall der letzte Wert der in meiner Schleife vorkommt.

        Für mich sieht das so aus als ob erst die Schleife durchläuft und erst am ende (also dann wenn ich den link klicke) das java script aufgerufen wird und er dann natürlich den letzten Wert von nr besitzt.

        Deswegen meine Frage, wie kann ich das anders machen ? Wenn ich jetzt einen js array mache, dann wird doch auch nur der letzte Wert in den array geschrieben oder ?

        H0schie.

        Kommentar


        • #5
          Original geschrieben von Hoschie
          Für mich sieht das so aus als ob erst die Schleife durchläuft und erst am ende (also dann wenn ich den link klicke) das java script aufgerufen wird und er dann natürlich den letzten Wert von nr besitzt.
          Das ist Unfug.

          Bitte mach dir jetzt erst mal klar, wo Javascript abläuft, und wo PHP.
          So lange du das nicht wirklich begriffen hast, kommst du mit deinem Problem nicht weiter.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            ich glaube ... damit hast du recht, dewegen frag ich ja.

            Gruß,
            hoschie

            Kommentar


            • #7
              Original geschrieben von Hoschie
              ich glaube ... damit hast du recht, dewegen frag ich ja.
              Und deswegen sage ich dir ja, was du dir als erste klarmachen solltest.

              Darüber hinaus weiterhelfen kann man (ich zumindest) dir so nicht, weil deine Fragestellung für einen Außenstehenden immer noch viel zu wenig Sinn ergibt.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar

              Lädt...
              X