Ankündigung

Einklappen
Keine Ankündigung bisher.

Textfeld durch DropDown füllen

Einklappen

Neue Werbung 2019

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

  • Textfeld durch DropDown füllen

    Ich habe ein Dropdown Feld welches automatisch aus einer MySQL Datenbank gefüllt wird. Jetzt soll diese Auswahl in der Datenbank gesucht werden und der Eintrag der Spalte "SzenarioName" in ein Textfeld geschrieben werden. Es funktioniert auch soweit, dass er den Szenarionamen oben im JS findet nur nicht ins Textfeld einträgt

    PHP-Code:
    <html>
    <head>
    <script type="text/javascript">
    <!--
    function changeInput(objSel){
       objSel.form.txtOut.value = $daten[''];
     
       <?php
       
    include ("dbconnect.php");
     
       
    $res mysql_query("select * from testf");
       
    $anz mysql_num_rows($res);
       
    $y 1;
       while (
    $y<=$anz) {
          
    $daten mysql_fetch_array($res,MYSQL_ASSOC);
          
    $res2 mysql_query("SELECT * FROM testf WHERE ID='$daten[ID]'");
          
    $anz2 mysql_num_rows($res2);
          
    $z 1;
              while (
    $z<=$anz2) {
                  
    $daten2 mysql_fetch_array($res2,MYSQL_ASSOC);
                  echo 
    "objSel.form.txtOut.value = $daten2[SzenarioName];";
                  
    $z++;
              }
              
    $y++;
       }
       
    ?>
    }
    //-->
    </script>
    </head>
    <body>
    <form name="form" method="post" action="keineahnung.html">
        <select name="select" onChange="changeInput(this)">
        <option value=""> </option>
    <?php
    include ("dbconnect.php");
     
    $res mysql_query("select * from testf");
    $anz mysql_num_rows($res);
    $x 1;
    while (
    $x<=$anz) {
         
    $daten mysql_fetch_array($res,MYSQL_ASSOC);
         echo 
    '<option value="'.$daten[ID].'">'.$daten[SzenarioID].'</option>';
         
    $x++;
    }
    ?>
    </select>
        <input type="text" name="txtOut" value="" />
    </form>
    </body>
    </html>

  • #2
    Ich glaub du bringst da was durcheinander, du kannst ein PHP-Script so nicht nach dem Laden der Seite ausführen, dazu brauchst du AJAX.

    Kommentar


    • #3
      Mhh okay... und wie löse ich das ganze mit AJAX. Habe davon leider keine Ahnung

      Kommentar


      • #4
        Ai caramba... erstmal grundsätzliches lernen, wie das PHP vor der Rückgabe an den Browser ausgeführt wird und dann suchst du dir ein AJAX-Tutorial, bzw. vorher vielleicht eine erklärung was AJAX überhaupt ist.

        Kommentar


        • #5
          Naja das PHP Script ist mir klar wie das funktioniert... Nur am AJAX technischen scheiterts leider. Nur habe ich auch leider die Zeit nicht, mich jetzt in AJAX dahingehend einzuarbeiten, damit ich mein Problem heute noch gelöst bekomme

          Kommentar


          • #6
            Ganz ehrlich: das ist Pech! Du hast natürlich noch die Option jemanden dafür zu bezahlen...

            Kommentar


            • #7
              Soo nach langer Einarbeitungsphase habe ich es jetzt doch geschaffe... jedoch will ich durch das Dropdown gleich 3 div-tags updaten wo die passende ID in der Datenbank gesucht wird. 1 div-tag funktioniert (Tester), nur die anderen nicht...

              Hier einmal die index.php:

              PHP-Code:
              <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
              <html>
              <head>
              <title>Test</title>
               
              <script src="js/tester.js" type="text/javascript">
              </script>
               
              <script src="js/szenarioname.js" type="text/javascript">
              </script>
               
              <script src="js/mandant.js" type="text/javascript">
              </script>
               
              <link rel="stylesheet" type="text/css" href="css/format.css">
              <style type="text/css">
              </style>
              </head>
              <body>
              <div>
              <table cellspacing="40" cellpadding="2">
               
              <tr valign="top">
              <td colspan="6">
              </td>
              </tr>
              <tr valign="top">
              <td class="1">Szenario ID:</td>
              <td>
              <form name="form" method="post" action="dbinsert.php">
              <select id="dropdown" name="SID" onChange="szenarioname(); tester(); mandant()">
              <?php
              include 'dbconnect.php'// Verbindung zur Datenbank herstellen
               
              $result mysql_query("SELECT ID,SzenarioID FROM `testf`; ");
              while(
              $row mysql_fetch_object($result))
              {
              echo 
              '<option value="'.$row->ID.'">'.$row->SzenarioID.'</option>';
              }
              ?>
              </select>
               
              </td>
              <td>
              <div id="szenarioname" name="sname">Szenarioname</div>
              </td>
              <td><input name="tfid" value="Testfall ID">
              </td>
              <td>
              <div id="tester" name="tester">Tester</div>
              </td>
              <td>
              <div id="mandant" name="mandant">Mandant</div>
              </td>
              </tr> 
              </body>
              </html>

              Hier die Tester.js:
              Code:
              function tester() {
                       var req;
                       try {
                               req = window.XMLHttpRequest?new XMLHttpRequest(): 
                               new ActiveXObject("Microsoft.XMLHTTP"); 
                       } catch (e) {
                                  //Kein AJAX Support
                       } 
               
                       req.onreadystatechange = function() {
                                 if ((req.readyState == 4) && (req.status == 200)) { 
                                            document.getElementById('tester').innerHTML = req.responseText;
                                 }
                       };
                       var id = document.getElementById('dropdown').value;
                       req.open('post', 'tester.php');
                       req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                       req.send('s='+ id); 
                       }
              tester.php:
              PHP-Code:
              <?php
              //Inhalte laden
              $query mysql_real_escape_string($_POST['s']);
              $result mysql_query("SELECT * FROM `testf` WHERE `ID` = '{$query}'; ");
              while(
              $row mysql_fetch_object($result)) 
              {
                     echo 
              '<p />Benutzer: '.$row->Tester;
              }
              ?>
              Mandant.js/php unterscheiden sich eigentlich nicht von tester.js/php nur das halt jeweils ein anderes div angesteuert wird und ein anderes php-file aufgerufen wird!

              Hoffe ich habe nichts vergessen!

              Kommentar

              Lädt...
              X