0

我有一个从 mysql db获取组名的以下 html 选择标记。但我想显示另一个选择标签以从同一个数据库表中获取所选组名的所有联系人号码

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在页面加载时执行,它不知道用户选择了什么选项,用户选择一个组后,您无法连接到同一页面中的数据库并获取联系号码。你可以通过两种方式做到这一点。

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 回答