Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在html表中显示多个数组_Php_Mysql - Fatal编程技术网

Php 在html表中显示多个数组

Php 在html表中显示多个数组,php,mysql,Php,Mysql,我试图在一个表中显示多个数组,以便每个值都位于表中的单独一行 这是我当前的设置: <?php $id = $_GET['id']; $result = mysqli_query($mysqli, "SELECT * FROM invoices WHERE id=$id"); while($res = mysqli_fetch_array($result)) { ?> <tr> <td><? echo $res['partnumber'];

我试图在一个表中显示多个数组,以便每个值都位于表中的单独一行

这是我当前的设置:

<?php

$id = $_GET['id'];

$result = mysqli_query($mysqli, "SELECT * FROM invoices WHERE id=$id");

while($res = mysqli_fetch_array($result))
{
?>

 <tr>
   <td><? echo $res['partnumber']; ?></td>
   <td><? echo $res['partdescription']; ?></td>
   <td><? echo $res['partprice']; ?></td>
   <td><? echo $res['partquantity']; ?></td>

<?php
    }

?>

其中显示以下内容:

相反,我需要它在单独的一行上显示每个值

我尝试了以下方法,但它一次又一次地重复它的值

<? foreach ($res as $row) : ?>
 <tr>
   <td><? echo $row['partnumber']; ?></td>
   <td><? echo $row['partdescription']; ?></td>
   <td><? echo $row['partprice']; ?></td>
   <td><? echo $row['partquantity']; ?></td>
 </tr>
 <? endforeach; 
 }
 ?>

如果您需要为每列添加新行,只需为每列添加新的
tr

试试这个:

<? foreach ($res as $row) : ?>
    <tr>
      <td><? echo $row['partnumber']; ?></td>
    </tr>
    <tr>
      <td><? echo $row['partdescription']; ?></td>
    </tr>
    <tr>
      <td><? echo $row['partprice']; ?></td>
    </tr>
    <tr>
      <td><? echo $row['partquantity']; ?></td>
    </tr>
 <? endforeach; ?>

首先,您的代码易受SQL注入攻击,请确保在将其放入查询字符串之前保护
$id
(例如
$id=(int)$\u GET['id'];

然后尝试:

while($res = mysqli_fetch_array($result))
{
?>
 <tr>
   <td><? echo $res['partnumber']; ?></td>
 </tr><tr>
   <td><? echo $res['partdescription']; ?></td>
 </tr><tr>
   <td><? echo $res['partprice']; ?></td>
 </tr><tr>
   <td><? echo $res['partquantity']; ?></td>
 </tr>
<?php
    }

?>
while($res=mysqli\u fetch\u数组($result))
{
?>

注意开始大括号中的更改,我删除了您使用的endforeach,以及表格标记

现在,您可以在for-each循环中使用它

 <table>
 <? foreach ($res as $row) { ?>
    <tr>
    <td><? echo $row['partnumber']; ?></td>
    <td><? echo $row['partdescription']; ?></td>
    <td><? echo $row['partprice']; ?></td>
    <td><? echo $row['partquantity']; ?></td>
    </tr>
 <? 
     }
 ?>
 </table>


我认为这应该可以做到这一点

这就是我从您的代码中得到的: (我会在完成此操作后解决安全问题,谢谢)


$arr1=['name'=>'jon','age'=>30','address'=>'dilly'];
$arr2=['name'=>'gita','age'=>20','address'=>'goha'];
$arr3=['name'=>'sita','age'=>20','address'=>'pune'];
$agroup=数组([$arr1,$arr2,$arr3]);
?>

看起来您的值是串联字符串。
是否为“asdf,aasdfas,asdf”
单个数据库值?$partnumber=$\u POST['partnumber'];$partnumberarray=内爆(,,,$partnumber);
    <?php

    $id = $_GET['id'];


    $result = mysqli_query($mysqli, "SELECT * FROM invoices WHERE id=$id");

    while($res = mysqli_fetch_array($result))
    {
    ?>
    <? foreach ($res as $row) { ?>
<tr>
<td><? echo $row['partnumber']; ?></td>
<td><? echo $row['partdescription']; ?></td>
<td><? echo $row['partprice']; ?></td>
<td><? echo $row['partquantity']; ?></td>
</tr>
    <? 
    }

    }

    ?>