-1

我有一个由 mysql 后端填充的 html 表。我不断收到警告“警告:为 foreach() 提供的参数无效”我正在使用 php foreach 函数,但这在我的 html 中。我一直试图if(is_array())在这段代码中做一个,但它似乎没有工作。提前致谢!

            <?php foreach($rows4 as $row4): ?> 

            <tr style="
                margin: 0; padding: 0; border-collapse: collapse;"
            >

                <td style="
                    border: 1px solid grey;"
                >
                    <form action="" method="post"> <?php echo $row4['DispatchTicketDate']; ?> </form> 
                </td>

                <td style="
                    border: 1px solid grey;"
                >
                    <form action="" method="post"> <?php echo $row4['LoginUserName']; ?>  </form>
                </td>

                <td style="
                    border: 1px solid grey;"
                >
                    <form action="" method="post"> <?php echo $row4['DispatchTicketNote']; ?>  </form> 
                </td>
            </tr>

        <?php endforeach; ?>
4

2 回答 2

1

您的 mysql 后端必须始终返回一个数组,如下所示:

$rows4 = $db->getAll("SELECT * FROM news WHERE cat=?i", $cat);

或者

$rows4 = $stmt->fetchAll();

如果没有找到数据,则返回空数组

这样你就永远不会有这样的问题

于 2013-05-25T09:13:50.163 回答
0

在继续之前检查数组的大小:

if (sizeof($rows4) > 0) { 
  foreach($rows4 as $row4):
    ... 
于 2013-05-25T09:28:49.763 回答