0

私は、 mysql db からグループ名を取得する次の html select タグを使用しています。しかし、同じデータベーステーブルから選択されたグループ名のすべての連絡先番号を取得するために、別の選択タグを表示したいと思います。

HTML選択タグ

<tr>
<td>Group name</td>
<td>
<select name="group_name" class="td">
<option value="">--Select Group--</option>
    <?php
    $class = mysql_query("SELECT group_name, gid FROM e_contact");      
    while($res =  mysql_fetch_array($class))
    {           
        $group_name_e = $res['group_name'];
        $gid_e = $res['gid'];
        ?>
        <option value="<?php echo "$group_name_e | $gid_e"; ?>"  <?php 
if(isset($_POST['group_name']) && $_POST['group_name'] == "$group_name_e | $gid_e") echo 
'selected = "selected"'; ?>> <?php echo $group_name_e; ?></option>";
        <?php
    }
    ?>
</select>
</td>
</tr>

Mysql e_contact テーブル構造:

  cid     group_name     gid     contact_name     contact_no

   1      Shibbir         1      alex             01674458522
   2      Evan            2      Elux             01674455852  
   3      Shibbir         1      Babu             0174557851
   4      Maya            3      minar            01714455852

php を使用してこの連絡先番号を取得するにはどうすればよいですか? 解決策やアイデアはありますか?どうもありがとうございました。

4

2 に答える 2

0

次のように使用します。

<tr>
<td>Group name</td>
<td>
    <?php
    $class = mysql_query("SELECT group_name, gid, contact_no FROM e_contact");      
    while($res =  mysql_fetch_array($class))
    {           
        $group_name_e = $res['group_name'];
        $gid_e = $res['gid'];
        $contact_no = $res['contact_no'];
        $optoinGname .= '<option value="'.$group_name_e.'">'.$group_name_e.'</option>';
        $optoinCno .= '<option value="'.$contact_no.'">'.$contact_no.'</option>';
    }
    ?>
<select name="group_name" class="td">
    <option value="">--Select Group--</option>
    <?php echo $optoinGname; ?>
</select>
<select name="contact_no" class="td">
    <option value="">--Select Contact--</option>
    <?php echo $optoinCno; ?>
</select>
</td>
</tr>

オプションで選択されたコードを削除しました。オプション文字列に再度追加できると確信しています。

于 2013-09-25T06:26:29.490 に答える
0

私の理解では、ドロップダウン メニューにすべてのグループを表示し、ユーザーがドロップダウン メニューからグループを選択した後、そのグループに対応する連絡先番号を表示したいと考えています。これはphpだけではできません。JavaScript も使用する必要があります。

PHP はページの読み込み時に実行されます。ユーザーがどのオプションを選択したかはわかりません。ユーザーがグループを選択した後、同じページでデータベースに接続して連絡先番号を取得することはできません。2 つの方法でそれを行うことができます。

1) ドロップダウン メニューにすべてのグループを表示し、グループの変更時にサーバーに ajax 呼び出しを行い、そのグループに対応する連絡先番号を取得して表示します。

2) ページの読み込み中にすべての連絡先番号をグループと共に取得し、それらを javascript オブジェクトに保存し、ドロップダウン メニューのグループの変更時に、javascript オブジェクトから連絡先番号を取得して表示します。

編集:オプション1の疑似コード

<select name="group_id">
    <option vaule="1">1</option>
    <option vaule="2">2</option>
</select>

$('select[name=group_id]').on('change', function() {
    var group_id = $(this).val();
    $.ajax({
        url : 'yoursite/getContactNumber.php?gid='+group_id,
        type : 'GET',
        dataType : 'json',
        success : function(data) {
            for(var i=0;i<data.length;i++) {
                $('#contact_number').append(data[i].contact_number);                 //append contact number to body.. check syntax
            }
        }
    });
});

getContactNumber.php

$contact_number = mysql_query("SELECT group_name, gid, contact_number FROM e_contact WHERE gid = ". $_GET['gid']);
echo json_encode($contact_number);

正しい構文が見つかることを願っています。

于 2013-09-25T06:26:50.810 に答える