如何从mysql填充下拉列表值并在html表的td中显示它

时间:2013-11-06 09:27:43

标签: php html mysql

我正在尝试从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>'

}

&GT?;          

3 个答案:

答案 0 :(得分:1)

这一行似乎有问题:

<td> <select name='customer_name'>

它实际上不应该这样说:

<td> <select name="customer_name">

或者:

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

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

因此,我认为浏览器会忽略大部分输出,因为标签未正确关闭,因为某些输出正在被破坏。使用查看源检查输出!

答案 1 :(得分:1)

如果您的上述代码已完成,那么我猜您错过了与MySQL服务器的连接。请参阅:http://www.php.net/manual/en/function.mysql-connect.php

有关代码示例的相关问题,请查看答案:Create table with PHP and populate from MySQL

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

答案 2 :(得分:0)

另一个值得关注的地方是:

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

我希望它应该如下:

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

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