Php 表中数据的排序
我有三个表是由上一个文件中上传的数据创建的。我希望在定义的位置插入数据,这样每个服务在表中都是一个单独的记录,并且有单独的数量和分配的金额。 我的php函数:Php 表中数据的排序,php,html,arrays,html-table,Php,Html,Arrays,Html Table,我有三个表是由上一个文件中上传的数据创建的。我希望在定义的位置插入数据,这样每个服务在表中都是一个单独的记录,并且有单独的数量和分配的金额。 我的php函数: function listService() { $service_chcecked = $_POST['service_chcecked']; $quantity = $_POST['quantity_chcecked']; $net_price = $_POST['net_price_chcecked'];
function listService()
{
$service_chcecked = $_POST['service_chcecked'];
$quantity = $_POST['quantity_chcecked'];
$net_price = $_POST['net_price_chcecked'];
for ($x = 0; $x < count($service_chcecked); ++$x) {
echo '<tr><td>id:' . $x . '</td><td>name:' . $service_chcecked[$x] . '</td>';
for ($y = 0; $y < count($net_price); ++$y) {
echo '<td>price:' . $net_price[$y] . '</td>';
for ($z = 0; $z < count($quantity); ++$z) {
echo '<td>quantity:' . $quantity[$z] . '</td>';
};
};
echo '</tr>';
}
}
我的html地址:
<div class='services'>
<table>
<tr>
<th><span>NO.</span></th>
<th><span>Service name</span></th>
<th><span>Net price</span></th>
<th><span>Quantity</span></th>
</tr>
<?php listServiceName(); ?>
</table>
</div>
现在,它以这种方式向我显示,并在末尾重复数据:/
这是因为您正在嵌套for循环。您为服务中的每个项目创建id和名称。然后为每个服务创建一个价格。第三个嵌套循环为每个服务创建一个数量列。这就是为什么你最终会得到那张破桌子。这取决于您如何接收POST数据,但如果三个数组的长度始终相同,则可以在一个循环中完成这一切:
function listService()
{
$service_chcecked = $_POST['service_chcecked'];
$quantity = $_POST['quantity_chcecked'];
$net_price = $_POST['net_price_chcecked'];
for ($x = 0; $x < count($service_chcecked); ++$x) {
echo '<tr><td>id:' . $x . '</td><td>name:' . $service_chcecked[$x] . '</td>';
echo '<td>price:' . $net_price[$x] . '</td>';
echo '<td>quantity:' . $quantity[$x] . '</td>';
echo '</tr>';
}
}
很难理解发生了什么,但少就是多,尽量不要在函数中混用数据和html,这会让你以后感到困惑
<?php
$services = $_POST['service_checked'];
$qtys = $_POST['quantity_checked'];
$prices = $_POST['net_price_checked'];
?>
<div class='services'>
<table>
<tr>
<th>NO.</th>
<th>Service name</th>
<th>Net price</th>
<th>Quantity</th>
</tr>
<? foreach($services as $k=>$service){?>
<tr>
<td><?=$k?></td>
<td><?=$service?></td>
<td><?=$qtys[$k]?></td>
<td><?=$prices[$k]?></td>
</tr>
<? }?>
</table>
</div>
函数listService,但您在之后使用listServiceName。我在这里有些不对劲。