2

5 つの列を持つ mysql データベース テーブルがあります。

id、列 A、列 B、列 C、列 D

データテーブルにこれらの値を入力して、各列に 2 つの (個別の) 値が含まれるようにしました。

columnA 1, columnB 1, columnC 1, columnD 1
columnA 1, columnB 1, columnC 1, columnD 2
...
columnA 2, columnB 2, columnC 2, columnD 2

ユーザーがドロップダウン リストからこれらの値を選択できるようにします。columnA から最初のデータを選択すると、選択した値に応じて columnB の値が他の選択ボックスに表示されます。などなど..だから、ajax-jqueryを使う必要があると思います。これが私が使用したスクリプトです。

<script type="text/javascript">
$(document).ready(
function() {
    $(".columnA").change(
    function() {
        var columnA=$(this).val();
        var dataString = 'columnA='+ columnA;
        $.ajax (    {
                        type: "POST",
                        url: "ajax_try.php",
                        data: dataString,
                        cache: false,
                        success: function(html)
                        {
                            $(".columnB").html(html);
                        }    
                    }               
                );

                }
        );
});
</script>

そしてphpコード。

<?php
    //index.php
    include('db.php');
    $sql=mysql_query("SELECT ID, columnA FROM try GROUP BY columnA");
    while($row = mysql_fetch_array($sql))
    {
    $id = $row['id'];
    $columnA = $row['columnA'];
    echo '<option value="'.$id.'">'.$columnA.'</option>';
    } 
?>


<?php
   //ajax_try.php
   include('db.php');
   if($_POST['columnA'])
   {
      $columnA = $_POST['columnA'];
      $sql = mysql_query("SELECT ID, columnB from try WHERE columnA = '$columnA' GROUP BY columnB");

      while($row = mysql_fetch_array($sql))
      {
         $id = $row['id'];
         $columnB = $row['columnB'];
         echo '<option value="'.$id.'">'.$columnB.'</option>';
      }
   }
?>

columnA の値を取得していますが、そのうちの 1 つを選択しても何も起こりません。そして、ajaxを使用して他のドロップダウンリストをバインドする方法がわかりません..

4

1 に答える 1

1

ここでデバッグする最善の方法は、次の方法を使用することをお勧めします。

1)関数が呼び出されているかどうかを確認するための変更のアラート

2) file_put_contents(..) を使用して PHP 側をデバッグし、実際に実行される SQL を確認します。

3) Ajax を使用して受信したデータにアラートを送信して、受信しているかどうかを確認しますか?

上記の 3 つの方法を使用して正しい方法でデバッグすると、何がどこで問題が発生したかを簡単に見つけることができます。

幸運を。

于 2012-04-18T07:48:11.110 に答える