虽然循环不打印首先形成迭代但打印出其他第一内容?

时间:2014-12-12 15:10:41

标签: php mysql

嗨我在一个while循环中回显一堆表格(从数据库中读出)。

但由于某种原因,它不会打印出第一个表单,但会打印出第一个内容,而在循环的其余部分则打印出表单的其余部分及其内容 PHP代码

$edit = db::run_query("
    SELECT
    feature_name, id
    FROM
    `sp_itemsa_features`
    Where 
    `id` = '556'

",db::return_rows);

while ($row = mysql_fetch_assoc($edit)) {


    echo'<form class="feature-box" >
<ul>
    <li><span>Feature Name</span>  "'.$row['feature_name'].'"  </li>';

    $query2  = " 
    SELECT product_id, id FROM sp_itemsa_features_items
    WHERE feature_id = '".$row['id']."'
    ";

    $pids = db::run_query($query2,db::return_rows);

   while ($row2 = mysql_fetch_assoc($pids)){

 echo '<form class = "test" method = "POST">
 <li><span>Remote ID</span> <input type = "text" name = "pid" value = "'.$row2['product_id'].'">  </li>
<li><input type="hidden" name="editId" value="'.$row2['id'].'" /></li>
<li><input type="submit" class="submitbtn" name="editsubmit" value="submit edit" /></li></form>';

}
echo '</ul></form>';
}

注意所有数据库run_query,它只是一个数据库类的一部分,它们只是连接并从数据库中查询

1 个答案:

答案 0 :(得分:2)

您的HTML也无效:

<ul>
   <li>...</li>
   <form ...>   <--- not valid

<ul><ol>只能包含其他列表,<li><col>元素作为后代。

另外,您正在嵌入表单中的表单。这是不允许的:

<form><form>...</form></form>   <-- illegal html

最重要的是,由于您将PHP代码作为输出的一部分,因此您应该查看浏览器的“视图源”。 ENTIRE脚本可能没有执行,而您只是获取所有PHP代码。 <{1}}块将被解释为非法/未知的html标记,并且不会被渲染。