1

我正在尝试从 mysql 填充下拉列表值并将其显示在 html 表的 td 中,我尝试使用下面的代码,但它没有从 mysql 填充值可以帮助我如何做到这一点。

<table id="CPH_GridView1" style="width:1452px">
    <thead>
        <tr>
            <th style=" width:102px">Clien ID </th>
            <th style=" width:100px">Country</th>       
            <th style=" width:248px">Network Name </th>    
            <th style="text-align:center; width:102px" >cppn </th>        
        </tr>
    </thead>
    <tbody>
    <?php 
    $sql = mysql_query("SELECT * FROM clientpricenotifications");
    while($rows=mysql_fetch_array($sql))
    {
        if($alt == 1)
        {
            echo '<tr class="alt">';
            $alt = 0;
        }
        else
        {
            echo '<tr>';
            $alt = 1;
        }   
        echo '<td id="CPH_GridView1_clientid" style="width:140px" class="edit clientid '.$rows["id"].'">'.$rows["clientid"].'</td>
            <td id="CPH_GridView1_country" style="width:160px" class="edit country '.$rows['id'].'">'.$rows["country"].'</td>       
            <td id="CPH_GridView1_networkname" style="width:156px" class="edit networkname '.$rows["id"].'">'.$rows["networkname"].'</td>';
    ?>
        <td>
            <select name=' . customer_name . '>  
            <?php  
            $query = 'SELECT cppn FROM clientpricenotifications';  
            $result = mysql_query($query, $db) or die(mysql_error($db));  
            while ($row = mysql_fetch_assoc($result))  
            {  
                echo '<option value="' . $row['id'] . '"> ' . $row['cppn'] .     '</option>';  
            }   
            ?>  
            </select>
        </td>       

    </tr>'

}

?>

4

3 回答 3

1

这条线似乎有问题:

<td> <select name='customer_name'>

它实际上不应该这样说:

<td> <select name="customer_name">

或者:

<td> <select name=' . customer_name . '>

而且,该行是包含单引号字符串的 echo 语句的一部分,但我看不到 echo 语句的结束单引号在哪里。

结果,我认为您的大部分输出都被浏览器忽略了,因为标签没有正确关闭,因为一些输出被破坏了。使用查看源代码检查您的输出!

于 2013-11-06T09:41:45.843 回答
1

如果您上面的代码是完整的,那么我猜您缺少与 MySQL 服务器的连接。见:http ://www.php.net/manual/en/function.mysql-connect.php

有关代码示例的相关问题,请查看以下答案:使用 PHP 创建表并从 MySQL 填充

未询问,但您的表格在样式中定义了不匹配的列宽:客户(t)ID 标题 102 像素,而数据单元格为 140 像素。

于 2013-11-06T09:44:06.327 回答
0

另一个要寻找的地方是以下行:

<td style="width:65px" class=" '.$rows["id"].'">

我希望它应该是以下内容:

<td style="width:65px" class="<?php echo $rows["id"] ?>">

正如 Vexen Crabtree 所提到的,如果您还检查/发布 HTML 输出的 html 代码,它将更容易诊断问题。

于 2013-11-06T10:04:56.130 回答