0

MYSQLデータベースから顧客の電話番号を取得し、前のドロップダウンボックスでの顧客のユーザー選択に基づいて入力ボックスに自動入力したいと思います。

私は過去に大量のデータを入力するときにこれを行うことができましたが、以前に使用したものは、単一の入力ボックスを自動入力するための多くのコードのようです。

前のページから渡されたデータに基づいて顧客の電話に入力する方法を知っていますが(ここでそのビットを削除しましたが)、ユーザーがドロップダウンを使用するときにそのデータを動的に変更したいと思います。

これを行う簡単な方法が必要ですが、私はjsの完全な初心者です(そしてPHPとMYSQLにほとんど熟練していません)。誰か私に手を貸してもらえますか?

私のPHP/HTML:

$result = mysql_query("SELECT cust_id, name, phone FROM customers ORDER BY name ASC");
$customers = mysql_fetch_array($result);

<label for="customer">Customer:</label>
<select name="customer">
    <option value="0">Add New Customer</option>
        <? foreach ($customers as $customer): ?>
            <option value="<?=$customer['cust_id']?>" <?=($customer['cust_id'] == $parts['cust']) ? "selected" : ""?>><?=$customer['name']?></option>
        <? endforeach; ?>
</select>

<label for="custphone">Customer Phone:</label>
<input type="text" name="custphone" value="">

私から何か他のものが必要な場合は私に知らせてください、そしてこれについて私を助けてくれてありがとう。

4

2 に答える 2

0

AJAXを調べたいようですね。jQuery.ajax()とても簡単になります。

基本的に、データベースにクエリを実行し、JavaScriptでエンコードされた文字列を返すページがサーバー上にあります。この文字列は、javascriptが(を使用してjQuery.parseJSON)配列に変換し直してリストに入力できます。

.change()イベントをドロップダウンの変更イベントにバインドするために使用します。これは、選択が変更されるたびに発生します。内部では、値を取得し(そのページのデモを参照)、AJAXリクエストをサーバーに送信します。

サーバー上のPHPスクリプトはデータベースにクエリを実行し、JSON文字列を返します。jQuery AJAXブロックのsuccess機能では、デコードされた情報を新しいリストに追加できます。選択にアイテムを追加する方法のチュートリアルについては、このページを参照してください。

于 2012-06-27T15:14:26.377 に答える
0

この回答には、jQuery構文を使用します。jQueryは無料のjavascriptライブラリであり、将来的には確実に使用する予定です。詳細をご覧ください
再開するには、要素によってトリガーされたイベントを使用します。select要素の値が変更されると、以前に選択した顧客の電話番号を返すPHPページ(ajax.php)へのいくつかのパラメーターを含むAJAXリクエストを処理します。

まず、HTMLWebページにjQueryスクリプトを<script>タグとともに含める必要があります。

<script src="path/to/jquery.js"></script>

2回目は、新しいjavascriptスクリプトを作成します(HTML要素にいくつかのIDを追加すると仮定します)。

<script type="text/javascript">
    $(document).ready(function(){ // When the document is ready
         $("select#customers").on("change",function(){ // We attach the event onchange to the select element
             var customer_id = this.value; // We retirve the customer's id
             $.ajax({
                 url : "path/to/ajax.php", // path to you php file which returns the phone number
                 method : "post", // We want a POST request 
                 data : "customer_id="+customer_id, // You'll retrieve this data in your $_POST variable in ajax.php : $_POST['customer_id']
                 success: function(response) { // The function to execute if the request is a -success-, response will be the customer phone number
                     $("input#custphone").value(response); // Fill the phone number input 
                 }
             });
         });
    });
</script>

これで、続行するためのすべての準備が整いました。jQueryAJAXについて読む必要があります。「ajax.php」を作成し、$_POST変数を使用して顧客IDを取得し、SQLクエリを処理して電話番号を取得してから、を使用して返す必要がありechoます。

于 2012-06-27T15:20:31.920 に答える