0

我是 PHP 新手,我正在尝试使用两个 foreach 制作一个表格,但我没有得到我想要的输出。

<html>
    <head>
         <title>Didier Test</title>
    </head>
    <body>
        <h1>Yesso!</h1>
    </body>

    <table border="1">
        <tr>
            <th>Books</th>
            <th>Price</th>
        </tr>
    <tr>

    <?php foreach($name as $item): ?>
        <td><?=$item?></td>
        <?php foreach($price as $item2): ?>
            <td><?=$item2?></td>
            </tr>
        <?php endforeach; ?>
    <?php endforeach; ?>
    </table>

    </body>
</html>

我知道我的内部 foreach 有问题,但我不知道如何纠正它。

请告诉我。

4

4 回答 4

0

<?=尝试使用完整的更改您的速记 php 输出表示法<?php echo

<html>
<head>
  <title>Didier Test</title>
</head>
<body>
<h1>Yesso!</h1>
</body>
<table border="1">
<tr>
    <th>Books</th>
    <th>Price</th>
</tr>
<tr>
<?php foreach($name as $item): ?>
    <td><?php echo $item?></td>
    <?php foreach($price as $item2): ?>
    <td><?php echo $item2?></td>
</tr>
     <?php endforeach; ?>
<?php endforeach; ?>
</table>
</body>
</html>

您可能没有得到任何输出,因为您的 php.ini 已设置为不允许速记 php '

哦,是的,就像 Barmer 和 Revent 提到的,你也有一些 HTML 标签嵌套问题。欢迎来到 PHP 的美好世界,祝你好运 :)

于 2013-04-19T23:44:39.840 回答
0

一方面,您甚至在输出表格之前就关闭了第 7 行的 body 标签。

<body>
<h1>Yesso!</h1>
</body>

我也不知道你为什么要对看似不相关的数据进行嵌套循环。除此之外,我们需要查看您的查询。

于 2013-04-19T23:39:02.310 回答
0

由于您<tr>在第一个循环之前开始该行,因此您需要</tr>在它之后结束该行:

<tr>
<?php foreach($name as $item): ?>
<td><?=$item?></td>
    <?php foreach($price as $item2): ?>
<td><?=$item2?></td>
<?php endforeach; ?>
<?php endforeach; ?>
</tr>
于 2013-04-19T23:39:31.217 回答
0
<?php 
for($i = 0; $i< count($name); $i++) {
    $item  =  $name[$i];
    $item2 =  $price[$i];

?>
<tr>
    <td><?=$item?></td>
    <td><?=$item2?></td>
</tr>

<?php 
}
?>
于 2013-04-19T23:40:54.933 回答