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>
<?
}
}
?>