MySQL in JavaScript ausführen

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

  • MySQL in JavaScript ausführen

    Hallo zusammen

    Ich würde gerne eine MySQL abfrage in JS ausführen.
    Ich habe zu dem Thema einiges gegoogelt aber leider ohne Erfolg.
    Zuerst hole ich den Wert über ein Select als var ins JS.
    Code:
    function eintrag_felder()
    {
    var = document.getElementById(['klasse_uebung_titel']).value;
    Ich habe nun eine php Datei welche die Abfrage ausführt.
    daten.js.php
    Nun würde ich gerne innerhalb von JS die var im PhP verwenden um die Abfrage auszuführen und dann das Resultat an das JS zurücksenden.

    Wie stelle ich das nur an? Ich habe mit diesem Beispiel keine Erfolge.
    Code:
            function daten_php_js_laden() {
             skript=document.createElement('SCRIPT');
             skript.setAttribute('src','daten.js.php');
             document.getElementsByTagName('BODY')[0].appendChild(skript);
            }
             
            function daten_ausgeben() {
             alert(dAtEn);
            }

  • #2
    Die wohl einfachste Variante: BeanCan Server | RedBeanPHP
    Wir werden alle sterben

    Kommentar


    • #3
      Oder per Ajax

      Peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        Danke Euch fürs erste, ich war die halbe Nacht dran und habe folgende Lösung:
        HTML-Code:
        <select name="uebung_titel" id="uebung_titel"  onchange="showTest(this.value);">
        JS
        Code:
        function showTest(tid)
         {
         if (window.XMLHttpRequest)
           {// code for IE7+, Firefox, Chrome, Opera, Safari
           xmlhttp=new XMLHttpRequest();
           }
         else
           {// code for IE6, IE5
           xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
           }
         xmlhttp.onreadystatechange=function()
           {
           if (xmlhttp.readyState==4 && xmlhttp.status==200)
             {
             alert(xmlhttp.responseText);
             }
           }
         xmlhttp.open("GET","module/jahresplanung/daten.js.php?q="+tid,true);
         xmlhttp.send();
         }
        PHP Mysql
        PHP-Code:
        abfrage Select.....
        ....echo 
        "var Inhalt_ue = \"".$inhalt_uebung."\";"
        Hier bekomme ich nun diese Ausgabe.
        var Inhalt_ue = "Wer Flugzeug macht kann nicht gefangen werden ";

        Mein jetztiges Problem
        Wie kann ich die ausgabe in JS integrieren, dass ich auf die einzelnen Variablen zugreifen kann.

        Also var Inhalt_ue zur Weiterverarbeitung in JS.

        Kommentar


        • #5
          Mit eval. Aber davon rate ich dir dringenst ab. Gib im PHP-Code doch einfach nur $inhalt_uebung zurück. Und im JS dann einfach:
          Code:
          var Inhalt_ue = xmlhttp.responseText;
          Wieso einfach, wenn es auch kompliziert geht?

          Peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Ja, das geht so aber ich will verschiedene Variablen aus dem PHP haben.

            Als z.Bsp.:
            Inhalt_ue
            Titel_ue
            Detail_ue
            usw.

            Diese möchte ich dann im JS weiterverarbeiten.

            Kommentar


            • #7
              Dann lass PHP ein XML-Dokument oder einen JSON-String zurückgeben. Eine XML-Variante findest du bei mir, für JSON gibt es ebenfalls genug Tutorials.


              Peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                Habe mich für JSON Entschieden.

                PHP
                PHP-Code:
                echo "  \"inhalt\":\"".$inhalt_uebung."\" "
                JS
                Code:
                	var Inhalt_ue = xmlhttp.responseText;
                	var JSONObject = {Inhalt_ue};
                	alert(JSONObject.inhalt);
                geht so leider nicht. Das geht
                Code:
                	var JSONObject = {"inhalt":"test"};
                	alert(JSONObject.inhalt);
                Wo ist mein Denkfehler?

                Kommentar


                • #9
                  Zitat von sepp Beitrag anzeigen
                  Wo ist mein Denkfehler?
                  Sorry, aber das ist kein Denkfehler, sondern Suchfaulheit. Einfach mal ein bißchen googlen und dann stößt du auf so was:
                  http://www.javascriptkit.com/dhtmltu...getpost4.shtml

                  Beachte den rot markierten Code.

                  Peter
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar


                  • #10
                    JSON bastelt man sich nicht von Hand, sondern nimmt die Funktion, die dafür gemacht wurde: PHP: json_encode - Manual
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Danke für den wertvollen Hinweis.
                      Habe es nun so im php
                      PHP-Code:
                      $arr = array('titel' => $titel_uebung'inhalt' => $inhalt_uebung'zeit' => $zeit_uebung);
                       
                      echo 
                      json_encode($arr); 

                      Nur leider weiss ich nicht wie ich es dann ins jS kriege
                      ^so geht es nicht!
                      Code:
                      var JSONObject = {xmlhttp.responseText};
                      alert(JSONObject.inhalt);
                      Ich stehe doch kurz vor dem Ziel - brauche nur noch diesen kleinen Tipp.

                      Ich habe nun meine Lösung


                      Es geht auch nicht um Faulheit - eher um das fehlende Glied, die fehlenden Kenntnisse.

                      ich will doch nur noch die Variable in JS bearbeiten und auseinander nehmen können.

                      Ich habe nun meine Lösung
                      Code:
                       var jsondata=eval("("+xmlhttp.responseText+")")
                      document.getElementById("titel").value = jsondata.titel;
                      jetzt habe ich allerdings das Problem das der Text nach dem Umlaut abgeschnitten wird - sprich die Umlaute werden nicht übernommen.
                      Zuletzt geändert von sepp; 08.08.2013, 02:00.

                      Kommentar


                      • #12
                        Hi sepp,

                        ich hab' zwei Arrays definiert.
                        PHP-Code:
                        $search_arr = array('Ä','ä','Ö','ö','Ü','ü');
                        $replace_arr = array('&Auml;','&auml;','&Ouml;','&ouml;','&Uuml;','&uuml'); 
                        Dein Array aus der SQL-Abfrage:
                        PHP-Code:
                        $arr = array('titel' => 'Titel der Übung''inhalt' => 'Inhalt der Übung''zeit' => 'Zeit für die Übung'); 
                        Jetzt übergebe ich der Funktion str_replace die beiden Arrays und das Array $arr.
                        PHP-Code:
                        $arr str_replace($search_arr$replace_arr$arr); 
                        Wenn ich deine Array-Variable nun mit json_encode an eine JavaScript-Funktion übergebe, steht im Quellcode (Browser):
                        PHP-Code:
                        <script type="text/javascript">
                        <!--
                        print_php({"titel":"Titel der &Uuml;bung","inhalt":"Inhalt der &Uuml;bung","zeit":"Zeit f&uumlr die &Uuml;bung"});
                        // -->
                        </script
                        Ausgabe im Browser ist dann auch tatsächlich:

                        titel : Titel der Übung
                        inhalt : Inhalt der Übung
                        zeit : Zeit für die Übung

                        Ich weiß nicht, ob das sonderlich praktikabel ist oder es vielleicht doch eine Funktion zur Lösung gibt, aber vielleicht hilfts dir ja weiter.
                        PHP-Code:
                        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
                        <html>
                        <head>
                        <title>Untitled</title>
                        <script src="jquery-1.10.1.js" type="text/javascript"></script>
                        <script type="text/javascript">
                        <!--
                        function print_php(arg){
                         $.each(arg, function(key, value){
                          document.write(key + ' : ' + value + '<br>');
                         });
                        }
                        // -->
                        </script>
                        </head>
                        <body>
                        <?php 
                        $search_arr 
                        = array('Ä','ä','Ö','ö','Ü','ü');
                        $replace_arr = array('&Auml;','&auml;','&Ouml;','&ouml;','&Uuml;','&uuml');
                         
                        $arr = array('titel' => 'Titel der Übung''inhalt' => 'Inhalt der Übung''zeit' => 'Zeit für die Übung');
                        $arr str_replace($search_arr$replace_arr$arr);
                        ?>
                        <script type="text/javascript">
                        <!--
                        print_php(<?php echo json_encode($arr);?>);
                        // -->
                        </script>
                        </body>
                        </html>
                        Gruß
                        Günni

                        Kommentar


                        • #13
                          Sorry Günni, aber das ist ziemlicher Nonsense …
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar

                          Lädt...
                          X