2016-10-31 12 views
0

Ok ..ここでは、おそらく簡単に修正することができますが、残念ながら私のためではありません。私が作成しようと何ドロップダウンリストから選択した結果から新しいドロップダウンリストを作成するPHP mysqlデータベース

はこれです:

私は2つのドロップダウンリストを持っています。リストは、データベーステーブルからの直接のデータで構成されます。 それについては何も気にしません。私はちょうどSELECTクエリなどでそれらを引っ張っています。

2番目のリストは今のところ空ですが、そのドロップダウンリストは、最初のドロップダウンリストから選択された項目に関連するデータで自動的に記入したいと思います。ここで

はコードです:フォームと

htmlページ:

<!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> 

ここでは、JSONのページです:

$("#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>'); 
     }); 
    }); 
}); 

<?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); 
} 

?> 

そしてここでは、Ajaxのファイルです

私はそれを悪くするように見えないキング。

私に助けてくれる誰かがいるなら、本当に感謝します。

ありがとうございます!!!

+0

'はconsole.log(データ)'の前に '$( "#のgemeente")、空();。 'あなたのajaxファイル。この結果を私たちに教えてください。 –

+0

$( "#district")(function(){ $ .getJSON( "json.php?districtid =" + $(this)).val()、function(data){ // $( "#gemeente"); $( "#gemeente"); $ {""}オプション値= "'+ this.id +'"> '+ this.gemeente +' '); //}); }); }); それを試してみて、私に知らせて – Brnovich

+0

:-(何も出力に含まはありませんでした '$アヤックス({ \t \tコンテキスト:。この、 \t \t URL:$(この).ATTR( 'アクション')、 \t \tは、タイプ: 'POST' \t \tデータ:{地区:$(この).val()}、 \t \tデータ型: 'JSON' \t})完了(関数(データ){ \t \tにconsole.log (データ); $ .each(data、function(){ $( "#gemeente" ).append( '<オプション値= "' + this.id + '">' + this.gemeente + ''); }); \t})。{ \t \t console.log( 'failed'); \t}); ' –

答えて

0

ここでは動作例を確認してください。ここで

の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> 

は、あなたのjson.phpコードは次のとおりです。

<?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

魅力的なように動作します!!!ありがとうございました!!! – Brnovich

+0

あなたは大歓迎です:) –

関連する問題