2017-04-03 12 views
0

このプロジェクトの目的は、ユーザーが「カラー」を選択し、2番目のドロップダウンでそのカラーグループのメンバーのみを表示することです。私は自分のSQLページを私のPHPページと私のURLページと共に掲示しました。JQueryとAjaxを使用した動的な依存選択

私の問題は、メンバのドロップダウンを機能させることができないということです。どのメンバーも迎えていない。

SQL:

+--------+ 
 
| Color | 
 
+--------+ 
 
| Red | 
 
| Blue | 
 
| Orange | 
 
| Black | 
 
+--------+ 
 

 
+--------+--------------+ 
 
| Color | MemberName | 
 
+--------+--------------+ 
 
| Red | Joe Bob  | 
 
| Red | Catherine | 
 
| Blue | Tommy  | 
 
| Orange | John Razks | 
 
| Black | Trevor Smith | 
 
+--------+--------------+

私のPHPコード:

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
\t <title>Test Page</title> 
 
\t <script src="jquery.js"></script> 
 
</head> 
 

 
<body> 
 
<?php 
 
function load_Color(){ 
 
\t $conn=mysqli_connect("#connection"); 
 
\t if(!$conn){ die("Connection Failed".myslqi_connect_error()); } 
 
\t else{ 
 
\t $output=''; 
 
\t $sql = "SELECT * from Color order by Color ASC"; 
 
\t $result = mysqli_query($conn, $sql); 
 
\t while($row=mysqli_fetch_array($result)){ 
 
\t \t $output .= '<option value="'.$row["Color"].'">'.$row["Color"].'</option>'; 
 
\t } 
 
\t return $output; 
 
\t } 
 
} 
 
?> 
 
<div class="formatbody" id="formatbody"> 
 
\t \t \t <div class="category_div" id="category_div">Color: 
 
\t \t \t \t <select id="color" name="color"> 
 
\t \t \t \t \t <option value="">Select Color</option> 
 
\t \t \t \t \t \t <?php echo load_Color(); ?> 
 
\t \t \t \t </select> \t 
 
\t \t \t </div> \t 
 
\t \t \t <div class="sub_category_div" id="sub_category_div">Individual: 
 
\t \t \t \t <select name="individual" id="individual"> 
 
\t \t \t \t \t <option value="">Select Individual</option> 
 
\t \t \t \t </select> 
 
\t \t \t </div> 
 
</div> 
 
</body> 
 
</html> 
 

 
<script> 
 
$(document).ready(function(){ 
 
\t $('#color').change(function(){ 
 
\t \t var Color = $(this).val(); 
 
\t \t $.ajax({ 
 
\t \t \t url: "fetch.php", 
 
\t \t \t method: "POST", 
 
\t \t \t data:{color: Color}, 
 
\t \t \t dataType: "text", 
 
\t \t \t success: function(data) 
 
\t \t \t { 
 
\t \t \t \t $('#individual').html(data); 
 
\t \t \t } 
 
\t \t }); 
 
\t }); 
 
}); 
 
</script>

Fetch.PHP

<html> 
 
<body> 
 
<?php 
 
\t $conn=mysqli_connect("#connection"); 
 
\t if(!$conn){ die("Connection Failed".mysqli_connect_error()); } 
 
\t else{ 
 
\t $output=''; 
 
\t $sql = "SELECT MemberName from Members where Color = '".$_POST["color"]."' ORDER BY MemberName ASC"; 
 
\t $result = mysqli_query($conn, $sql); 
 
\t $output = '<option value="">Select the Individual</option>'; 
 
\t while ($row=mysqli_fetch_array($result)) 
 
\t { 
 
\t \t $output .='<option value="'.$row["MemberName"].'">'.$row["MemberName"].'</option>'; 
 
\t } 
 
\t } 
 
\t 
 
\t 
 
\t echo $output; 
 
\t ?> 
 
</body> 
 
</html>

答えて

0

さてあなたは、JSONエンコードあなたのデータを持っているとAjaxの成功関数に送り返します。ここ

はあなたのPHPコードとjqueryのAJAX呼び出し

<?php 
$conn=mysqli_connect("#connection"); 
if(!$conn){ die("Connection Failed".mysqli_connect_error()); } 
else{ 
$output=array(); 
$sql = "SELECT MemberName from Members where Color = '".$_POST["color"]."' ORDER BY MemberName ASC"; 
$result = mysqli_query($conn, $sql); 
$output["select_data"] = '<option value="">Select the Individual</option>'; 
while ($row=mysqli_fetch_array($result)) 
{ 
    $output["select_data"] .='<option value="'.$row["MemberName"].'">'.$row["MemberName"].'</option>'; 
} 
} 


echo json_encode($output); 
?> 
fetch.php

<!DOCTYPE html> 
<html> 
<head> 
    <title>Test Page</title> 
    <script src="jquery.js"></script> 
</head> 

<body> 
<?php 
function load_Color(){ 
    $conn=mysqli_connect("#connection"); 
    if(!$conn){ die("Connection Failed".myslqi_connect_error()); } 
    else{ 
    $output=''; 
    $sql = "SELECT * from Color order by Color ASC"; 
    $result = mysqli_query($conn, $sql); 
    while($row=mysqli_fetch_array($result)){ 
     $output .= '<option value="'.$row["Color"].'">'.$row["Color"].'</option>'; 
    } 
    return $output; 
    } 
} 
?> 
<div class="formatbody" id="formatbody"> 
      <div class="category_div" id="category_div">Color: 
       <select id="color" name="color"> 
        <option value="">Select Color</option> 
         <?php echo load_Color(); ?> 
       </select> 
      </div> 
      <div class="sub_category_div" id="sub_category_div">Individual: 
       <select name="individual" id="individual"> 
        <option value="">Select Individual</option> 
       </select> 
      </div> 
</div> 
</body> 
</html> 

<script> 
$(document).ready(function(){ 
    $('#color').change(function(){ 
     var Color = $(this).val(); 
     $.ajax({ 
      url: "fetch.php", 
      method: "POST", 
      data:{color: Color}, 
      dataType: "text", 
      success: function(data) 
      { 
       $('#individual').html(data.select_option); 
      } 
     }); 
    }); 
}); 
</script> 

そして中に

を行う必要があります修正されています

関連する問題