1

こんにちは私はデータベースからクライアントの名前とアドレスをプルするこのコードを持っています。<option value="<?php echo "$client" ?>"><?php echo "$client" ?></option>これは、whileループで実行されるドロップダウン()に各エントリのクライアント名をエコーアウトします。次に、ドロップダウンでオプションを選択すると、「content」という名前のDIVのinnerHTMLを変更するJavascriptがあります。これは、データベースから取得されたものに基づいて一意です。-これは私がそれを動作させることができないところです..以下は私のコードですどんな助けも大いに感謝されます。

<div id="selectBox">
<div class="ui-widget">
<form>
    <label>Select a Client:</label>
    <select id="combobox" >
    <option value="">Select...</option>
    <?php

include "db_conn.php";

callDB();   

function callDB(){      
$sql = 'SELECT * FROM clientlist';
   $query = mysql_query($sql) or die(mysql_error());
   while ($row = mysql_fetch_array($query))
          {
       $ID= $row['id'];
       $client= $row["client"];
       $postal_add= $row["postal_add"];
?>

<option value="<?php echo "$client" ?>"><?php echo "$client" ?></option>
        <?php
}} ?>
    </select>
    </form>
</div>
</div>
<br>
<div id="content">

</div>
</div>
<script type="text/javascript">



// Script for changing Div
function change()
{
switch (document.getElementById("combobox").value)
{
  case "<?php echo $client ?>":
  document.getElementById("content").innerHTML = "<h2><?php echo $client ?></h2><b>Postal Address:</b> <?php echo $postal_add ?>"
  break;

}
}

</script>
4

4 に答える 4

1

単語にセミコロンがありません<?php echo "$client" ?>。する必要があります<?php echo "$client"; ?>。編集:これは実際には必要ありません。末尾の?>はステートメントを自動的に閉じます。

さらに追加するには、@ Wittyが言ったように、$ client変数をループの外に格納していないため、アクセスできません。それを変えて!

于 2012-08-29T12:28:55.467 に答える
1

div要素を設定する関数を作成しました。ただし、現時点では、その関数は定義されているだけで、実行されることはありません。

javascript関数を呼び出すには、選択ボックスのonchangeハンドラーを設定する必要があります。

また、JavaScriptに出力されているphpは、whileループの外にあります。

于 2012-08-29T12:30:17.880 に答える
0

Javascriptが実行されるまでに(クライアント)、PHPはすでに終了しています(サーバー)。Whileループ内でPHPからJavascriptをビルドし、ページの後半でブラウザーに送信する必要があります。

// in while
$javascript .= "case $client:
document.getElementById('content').innerHTML = '<h2>$client</h2>
    <b>Postal Address:</b>$postal_add'
break;"

// later in page
switch (document.getElementById("combobox").value)
{    
<?php echo $javascript; ?>
}
于 2012-08-29T12:35:19.447 に答える
0

ドロップダウンから選択したオプションに基づいて、ajaxを使用してdivを更新します

 $('#dropdown').change(function() {
                    var id = $("#option").val();
                    var url = ajax action from where u will get the data for the selected option 
                    var data = {OptionID:id};
                    $.ajax({
                        type: 'POST',
                        url: url,
                        data: data,
                        success: function(data) 
                        { 
                            append the values in div here using div.innerhtml
                    });
            });
于 2012-08-29T12:36:40.943 に答える