2016-10-31 1 views
0

Ok .. hier ist das Ding, das ist wahrscheinlich sehr einfach zu beheben, aber leider nicht für mich.Erstellen Sie neue Dropdown-Liste mit Ergebnis aus Dropdown-Liste Auswahl PHP Mysql-Datenbank

Was ich versuche zu erstellen, ist dies:

I 2 Drop-Down-Listen haben. Listen Sie einen Datenbestand direkt aus einer Datenbanktabelle auf. Nichts Besonderes daran. Ich ziehe sie nur mit einer SELECT-Abfrage etc.

Die zweite Liste ist vorerst leer, aber ich möchte, dass die Dropdown-Liste automatisch mit Daten gefüllt wird, die durch IDs durch das ausgewählte Element aus meiner ersten Dropdown-Liste verwandt ist . Hier

ist der Code:

HTML-Seite mit Form:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Document</title> 

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 

    <script src="form.js"></script> 
</head> 

<body> 
      <form action="create_account.php" method="post"> 
       <ul style="list-style: none;"> 
        <li> 
         <label>District:</label> 
         <select name="district" id="district"> 
          <option id="0"> -- Selecteer District --</option> 
          <option id="Amsterdam">Amsterdam</option> 
          <option id="Arnhem">Arnhem</option> 
          <option id="Assen">Assen</option> 
          <option id="Groningen">Groningen</option> 
          <option id="Leeuwarden">Leeuwarden</option> 
          <option id="Rotterdam">Rotterdam</option> 
          <option id="Sittard">Sittard</option> 
          <option id="Tilburg">Tilburg</option> 
          <option id="Utrecht">Utrecht</option> 
          <option id="Antillen">Antillen</option> 
         </select> 
        </li> 
        <li> 
         <label>Gemeente:</label> 
         <select name="gemeente" id="gemeente"> 
          <option id="0"> -- Selecteer Gemeente --</option> 
         </select> 
        </li> 
       </ul> 
      </form> 
     </div> 

</body> 
</html> 

Hier ist die json Seite:

<?php 
header('Content-Type: application/json'); 

$response = array(); 

if (isset($_GET['districtid'])) 
{ 
    //vul hier je database gebuikersnaam en ww in 
    mysql_connect("localhost", "root", "") or die("Could not connect: " .  mysql_error()); 
    //vul hier je mysql db naam in 
    mysql_select_db("my_db"); 

    $qry = mysql_real_escape_string("SELECT * FROM gemeente WHERE district_id = " + $_GET['districtid']); 

    $result = mysql_query($qry); 

    while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 
     array_push($response, $row); 
    } 

    echo json_encode($response); 
} else { 
    $response[0]['id'] = 0; 
    $response[0]['gemeente'] = ' -- Selecteer Gemeente --'; 
    echo json_encode($response); 
} 

?> 

Und hier ist die Ajax-Datei:

$("#district").change(function() { 
    $.getJSON("json.php?districtid="+$(this).val(), function(data) { 
     $("#gemeente").empty(); 
     $.each(data, function(){ 
      $("#gemeente").append('<option value="'+ this.id +'">'+ this.gemeente +'</option>'); 
     }); 
    }); 
}); 

Ich kann nicht scheinen, es wor zu bekommen König.

Also wenn es jemanden gibt, der mir helfen kann, ich schätze es wirklich.

Vielen Dank im Voraus !!!

+0

'console.log (Daten)' vor '$ ("# gemeente") leer(); 'deine Ajax-Datei. und teilen Sie mit uns dieses Ergebnis –

+0

$ ("# Bezirk"). change (function() { $ .getJSON ("json.php? BezirkID =" + $ (this). Val(), Funktion (Daten) { console.log (Daten); // $ ("# gemeente"). empty(); // $ .each (Daten, Funktion() { // $ ("# gemeente"). append ('< Optionswert = "'+ this.id +'"> '+ this.gemeente +' '); //}); }); }); Es gab keine ouput :-( – Brnovich

+0

es versuchen, und lassen Sie mich wissen, '$ Schnipsel ({ \t \t Kontext. Dazu \t \t url: $ (this) .attr ('action'), \t \t Typ: 'POST', \t \t Daten: {Bezirk: $ (this) .val()}, \t \t datatype:. 'json' \t}) done (function (data) { \t \t console.log (Daten); $ .each (Daten, Funktion() { $ ("# Gemeente")) .append (''); }); \t}).fehlgeschlagen (Funktion (Daten)) { \t \t console.log ('fehlgeschlagen'); \t}); ' –

Antwort

0

Hier ist das Arbeitsbeispiel, bitte überprüfen.

index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Document</title> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 
<script> 
    $(document).ready(function(){ 
     $("#district").change(function() { 
      $.getJSON("json.php?districtid="+$(this).val(), function(data) { 
       $("#gemeente").empty(); 
       $.each(data, function(){ 
        $("#gemeente").append('<option value="'+ this.id +'">'+ this.gemeente +'</option>'); 
       }); 
      }); 
     }); 
    }); 
</script> 
</head> 
<body> 
<form action="create_account.php" method="post"> 
      <ul style="list-style: none;"> 
       <li> 
        <label>District:</label> 
        <select name="district" id="district"> 
         <option id="0"> -- Selecteer District --</option> 
         <option id="Amsterdam">Amsterdam</option> 
         <option id="Arnhem">Arnhem</option> 
         <option id="Assen">Assen</option> 
         <option id="Groningen">Groningen</option> 
         <option id="Leeuwarden">Leeuwarden</option> 
         <option id="Rotterdam">Rotterdam</option> 
         <option id="Sittard">Sittard</option> 
         <option id="Tilburg">Tilburg</option> 
         <option id="Utrecht">Utrecht</option> 
         <option id="Antillen">Antillen</option> 
        </select> 
       </li> 
       <li> 
        <label>Gemeente:</label> 
        <select name="gemeente" id="gemeente"> 
         <option id="0"> -- Selecteer Gemeente --</option> 
        </select> 
       </li> 
      </ul> 
    </form> 
    </div> 
    </body> 
    </html> 

Hier ist Ihr json.php Code:.

<?php 
header('Content-Type: application/json'); 

$response = array(); 

if (isset($_GET['districtid'])){ 
//vul hier je database gebuikersnaam en ww in 
$con=mysqli_connect("localhost","root","","my_db"); 
// Check connection 
if (mysqli_connect_errno()){ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$qry = "SELECT * FROM gemeente WHERE district_id = '".$_GET['districtid']."'"; 

$result = mysqli_query($con, $qry); //mysql_query($qry); 

while ($row = mysqli_fetch_array($result, MYSQL_BOTH)) { 
    array_push($response, $row); 
} 

echo json_encode($response); 
} else { 
$response[0]['id'] = 0; 
$response[0]['gemeente'] = ' -- Selecteer Gemeente --'; 
echo json_encode($response); 
} 
?> 
+0

Funktioniert wie ein Zauber !!! Danke sehr sehr !!! – Brnovich

+0

Gern geschehen :) –