php - while 循环不打印第一个表单迭代,而是打印其他第一个内容?

标签 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>';
}

注意所有 DB run_query 都是数据库类的一部分,它们只是从数据库连接和查询

最佳答案

您的 HTML 也无效:

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

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

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

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

最重要的是,由于您将 PHP 代码作为输出的一部分,因此您确实应该查看浏览器的“查看源代码”。整个脚本可能没有执行,而您只是获得了所有 PHP 代码。 <?php ... ?> block 将被解释为非法/未知的 html 标签并且根本不会呈现。

关于php - while 循环不打印第一个表单迭代,而是打印其他第一个内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27446527/

相关文章:

javascript - 调用 PHP 变量到 html 输入

php - 从多个表获取数据结果记录较少

带有 MySQLdb 的 Python Tkinter 列表框

php - 如何将 Perl 数组分成更小的数组?

php - 清理 WooCommerce 中的自定义结帐字段数据

php - 为什么 .post jquery 函数在我的代码中不起作用?

mysql - 选择 X 组中最大的 N 条记录

mysql - SQL:找到最接近给定值的数字

mysql - 在报告中使用 SUM,其中值来自多个表

php - 使用具有多个术语的 MYSQL 重新索引 WordPress 中的自定义表