-1

你好再次编码大师,

我被困在下拉菜单的这段代码中。这是代码

echo '<h3>Select Supplier</h3>';    
$deliver_sql = mysql_query("SELECT supplier_name FROM delivery") or die(mysql_error());

echo '<div align="left">';
echo '<form class="forms" action="returns.php" method="post" name="companyform">';

echo "<select class=\"input\" name=\"companyNames\" onChange=\"this.form.submit()\">"; 

        while($row = mysql_fetch_array($deliver_sql) or die(mysql_error())) 
        { 
        echo '<option value="'.$row['supplier_name'].'">'.$row['supplier_name'].'</option>'; 
        } 
    break;
    echo '</select>'; 

echo '</form>';
echo '</div>';

我的问题是,这段代码有问题吗?因为当我打开这个特定页面时,页脚没有显示。

就像有一些东西破坏了整个 html 代码,导致页脚不显示,即使我使用$_POST['companyform']也无法检测到。

有人可以找出导致此错误的原因。

4

2 回答 2

1

尝试echo '<div style="float:left">';代替echo '<div align="left">';

或删除break;

or die(mysql_error())并从中删除while($row = mysql_fetch_array($deliver_sql))

于 2012-06-15T23:14:48.950 回答
1

问题出在这一行

while($row = mysql_fetch_array($deliver_sql) or die(mysql_error())) 

当 $deliver_sql 中没有更多行时,mysql_fetch_array 将返回 false 并执行 die(mysql_error())。mysql_fetch_array 返回 false 不是错误,因此在这种情况下您不应该调用 die
只需使用

while($row = mysql_fetch_array($deliver_sql))
于 2012-06-15T23:19:38.637 回答