Ankündigung

Einklappen
Keine Ankündigung bisher.

Funktion mit String ausführen

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Funktion mit String ausführen

    Hallo zusammen,

    ich will eine JavaScript funktion über php bzw html aufrufen. Ist ja an sich nicht schwer, aber ich bekomme irgendwie die Ausgabe einer Datenbankabfrage nicht als Übergabewert für die Funktion hin.

    while ($datensatz = mysqli_fetch_assoc($query))
    {
    $d1 = $datensatz['Name'];
    echo "<tr style='cursor: pointer' onclick='showUser(" . $d1 . ")'>";
    echo "<td colspan='2' style='text-align: center'>" . $datensatz['Name'] . "</td>";
    echo "</tr>";
    }

    Bei diesem Code funktioniert gar nichts. Ich vermute, dass $d1 nicht wirklich als String übergeben wird und deshalb showUser() das ganze nicht anwenden kann, da wenn ich $d1 auf eine Zahl setze, geht es Problemlos.
    Aber wie speichere ich jetzt diesen $datensatz['Name'] als String ab, welcher auch von der Funktion genutzt werden kann?
    implode() und rtrim() ging beides nicht.

    Danke für euere Hilfe!

  • #2
    Das geht nicht. JavaScript läuft im Browser und PHP auf dem Server. Informiere dich über das HTTP-Protokoll, was PHP genau ist, was JavaScript genau ist.
    [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

    Kommentar


    • #3
      Zitat von ChristianK Beitrag anzeigen
      Das geht nicht. JavaScript läuft im Browser und PHP auf dem Server. Informiere dich über das HTTP-Protokoll, was PHP genau ist, was JavaScript genau ist.
      Ich weiß was das ist. Warum kann ich dann eine Zahl übergeben?

      Kommentar


      • #4
        PHP-Code:
        echo "<tr style='cursor: pointer' onclick='showUser("\" . $d1 . "\")'>"
        Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

        Kommentar


        • #5
          Das Problem sind deine Quotes ...

          1) ich würd die gegenüber deinem Script-Schnipsel genau umdrehen ...
          2) damit JS es als String-Literal "begreift", braucht es eigene Quotes... ohne die Quotes "denkt" JS du willst eine Variable verwenden, die nicht definiert ist .. ergo nix geht

          PHP-Code:
          while ($datensatz mysqli_fetch_assoc($query)) {
             echo 
          '<tr style="cursor: pointer" onclick="showUser("' $datensatz["Name"] . '")">';
             echo 
          '<td colspan="2" style="text-align: center">' $datensatz["Name"] . '</td>';
             echo 
          '</tr>';

          "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste [IMG]http://www.php.de/core/images/smilies/icon_lol.gif[/IMG]

          Kommentar


          • #6
            Zitat von uha Beitrag anzeigen
            PHP-Code:
            echo "<tr style='cursor: pointer' onclick='showUser("" . $d1 . "")'>"
            Error-Meldung: Parse error: syntax error, unexpected '\' (T_NS_SEPARATOR), expecting ',' or ';'
            Sollte doch eigentlich gehen, oder?

            Kommentar


            • #7
              Zitat von eagle275 Beitrag anzeigen
              Das Problem sind deine Quotes ...

              1) ich würd die gegenüber deinem Script-Schnipsel genau umdrehen ...
              2) damit JS es als String-Literal "begreift", braucht es eigene Quotes... ohne die Quotes "denkt" JS du willst eine Variable verwenden, die nicht definiert ist .. ergo nix geht

              PHP-Code:
              while ($datensatz mysqli_fetch_assoc($query)) {
              echo 
              '<tr style="cursor: pointer" onclick="showUser("' $datensatz["Name"] . '")">';
              echo 
              '<td colspan="2" style="text-align: center">' $datensatz["Name"] . '</td>';
              echo 
              '</tr>';


              Geht nicht! Keine Ahnung warum, aber es passiert einfach nix.

              Kommentar


              • #8
                PHP-Code:
                while ($datensatz mysqli_fetch_assoc($query)) {
                echo 
                '<tr style="cursor: pointer" onclick="showUser(\'' $datensatz["Name"] . '\')">';
                echo 
                '<td colspan="2" style="text-align: center">' $datensatz["Name"] . '</td>';
                echo 
                '</tr>';

                PHP-Code:
                while ($datensatz mysqli_fetch_assoc($query)) {
                echo 
                '<tr style="cursor: pointer" onclick="showUser(' $datensatz["Id"] . ')">';
                echo 
                '<td colspan="2" style="text-align: center">' $datensatz["Name"] . '</td>';
                echo 
                '</tr>';

                PHP-Code:
                while ($datensatz mysqli_fetch_assoc($query)) {
                echo 
                '<tr style="cursor: pointer" onclick="showUser(' $datensatz["id"] . ')">';
                echo 
                '<td colspan="2" style="text-align: center">' $datensatz["Name"] . '</td>';
                echo 
                '</tr>';

                hardcore will never die

                Kommentar


                • #9
                  http://phpforum.de/forum/showthread.php?t=283632

                  Kommentar


                  • #10
                    Zitat von ehc_master Beitrag anzeigen
                    PHP-Code:
                    while ($datensatz mysqli_fetch_assoc($query)) {
                    echo 
                    '<tr style="cursor: pointer" onclick="showUser(\'' $datensatz["Name"] . '\')">';
                    echo 
                    '<td colspan="2" style="text-align: center">' $datensatz["Name"] . '</td>';
                    echo 
                    '</tr>';


                    Super, Danke!

                    Kommentar


                    • #11
                      JavaScript-Code hat in HTML-Attributen nichts verloren, der gehört in JavaScript-Dateien.

                      Vergiss bitte, dass es das HTML-Attribut "onclick" überhaupt gibt. Das brauchst du nicht und macht nur den Code schwerer lesbar und wartbar.

                      Kommentar


                      • #12
                        Crosspost. Forenregeln beachten.

                        MOD: Geschlossen
                        The string "()()" is not palindrom but the String "())(" is.

                        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                        PHP.de Wissenssammlung | Kein Support per PN

                        Kommentar

                        Lädt...
                        X