0

これを見ていただきありがとうございます。

2 つのドロップダウン メニューがあります。1 つ目はクライアントのリストで、2 つ目はプロジェクトのリストです。

すべてのプロジェクトは 1 つのクライアントにのみ関連付けられているため、コードでクライアントのユーザー入力を取得し、その値を読み取り、対応する 2 番目のドロップダウン メニューの値のみを出力するように PHP コードを変更したいと考えています。クライアントが選択しました。

ここにいくつかのコードがあります。最初のドロップダウン メニューの場合:

     <div class="item">
                <label for='clSel' id='tsClLabel'>Client:</label>
                <select name='clSel' id='wClient' onChange="bGroup();">
                    <option></option>
                    <?php
                    $cQuery = "SELECT * FROM Clients ORDER BY Client_Name";
                    $cResult = mysql_query($cQuery);
                    while($cData = mysql_fetch_assoc($cResult)) {
                        echo '<option id="Cid" value="'.$cData['Id'].'">'.$cData['Client_Name'].'</option>';
                    }
                    ?>
                </select>

最初のドロップダウンからユーザーが選択した値を取得する jQuery 関数は次のとおりです。

           <script>
            function bGroup(){
                val1 = $("#wClient").val();
               // window.alert(val1);
              //  $('#div1').html(val1);
                return val1;
            }
        </script>

2 番目のドロップダウン メニューのコードは次のとおりです。

                <label for='billGroupId'>Billing Group: </label>
                <select name='billGroupId'>
                    <option value=''></option>
                    <?php
                        $sql = "SELECT * FROM Billing_Groups ORDER BY Client_Id, Name";
                        $sth=$dbh->prepare($sql);
                        $sth->execute();
                        while ($row = $sth->fetch())
                        {
                            if ($row['Name']!= ''){
                                echo "<option value='".$row['Id']."' > ".$row['Name']."</option>";
                                echo "<script> bGroup(); </script>"
                            }
                        }
                    ?>
                </select>

2 番目のドロップダウン メニューにWHERE ステートメントを含める必要があることはわかっています。

基本的にSelect * FROM Clients WHERE Client_ID == $jsVAR

var1 JavaScript 変数に必要な値が既にあります。この小さなデータを PHP で読み取るか、JS コード経由で PHP に送信するにはどうすればよいですか?

ありがとう!!

4

2 に答える 2

0

データベースからすべてのレコードをSELECT取得し、json_encode(). そんな感じ:

<?php
$sql = "SELECT * FROM Billing_Groups ORDER BY Client_Id, Name";
$sth=$dbh->prepare($sql);
$sth->execute();
$projectData = array();
while ($row = $sth->fetch())
{
    if ($row['Name']!= ''){
        $projectData[$row['Client_Id']][] = $row;
    }
}
echo '<script type="text/javascript">var projects=', json_encode($projectData), ';</script>';
?>

次に、JS で変数projectsを連想配列 (オブジェクト) として使用します。

<script type="text/javascript">
for (p in projects[clientId]) {
    alert(projects[p].Name);
}
</script>
于 2013-09-16T14:31:49.133 に答える