我试图乘以2列" qty * price_dl"表格,但新栏目中的值" total1"在同一张桌子上,这对我没有问题
之后试图得到" total1"按" seq"分组的列列,但" total2"中的值同一列中的列 我陷入了总结的过程中,它并没有与我合作 这是代码:
<?php
require_once("dbconfig.php");
$q=mysql_query('select * from sale_menu')
or die(mysql_error());
echo "<table border='2'>
<tr>
<th>Select</th>
<th>qty</th>
<th>price_dl</th>
<th>total1</th>
</tr><tr>";
while($rw=mysql_fetch_array($q)){
?>
<td><input type="checkbox" value="<?php echo $rw['seq']; ?>" name="seq[]" ></td>
<td><b><?php echo $rw['qty']; ?></b></td>
<td><b><?php echo $rw['price_dl']; ?></b></td>
<td><b><?php echo $rw['total1']; ?></b></td>
<tr>
</tbody>
<?php } ?>
<?php
error_reporting(0);
$seq=$_POST['seq'];
if (isset($_POST['submit']))
{
$impid=implode(", ",$seq);
$qdel=mysql_query("SELECT * FROM sale_menu WHERE seq IN(".$impid.")");
while($row=mysql_fetch_array($qdel)){
$qty=$row['qty'];
$price_dl=$row['price_dl'];
$qdel=mysql_query("UPDATE sale_menu set total1=qty*price_dl WHERE seq IN(".$impid.")");
$qdel=mysql_query("UPDATE sale_menu set total2=sum(total1) WHERE seq IN(".$impid.")");
}
}
?>
<button name="submit" type="submit" value="Checked" id="submit" >Move</button>
这是我卡住的地方:
$qdel=mysql_query("SELECT * FROM sale_menu WHERE seq IN(".$impid.")");
$qdel=mysql_query("select sum(total1) as total from sale_menu group by seq");
while($row=mysql_fetch_array($qdel)){
$total = $row['total'];
$qdel=mysql_query("UPDATE sale_menu set total1=qty*price_dl WHERE seq IN(".$impid.")");
$qdel=mysql_query("UPDATE sale_menu set total2= $total WHERE seq IN(".$impid.")");
答案 0 :(得分:1)
你不能把total1作为列,因为你需要在查询中进行查询,有两种方法可以做到这一点
第一个做这样的嵌套查询
$qdel=mysql_query("UPDATE sale_menu set total2= (select sum(total1) as total from table_name) WHERE seq IN(".$impid.")");
第二种方法就是在这个查询之前再做一次查询并将sum(total1)的值存储在变量中然后你可以在这个查询中使用该变量,例如
$q=mysql_query('select sum(total1) as total from table_name')
while($rw=mysql_fetch_array($q)){
$total = $rw['total'];
}
$qdel=mysql_query("UPDATE sale_menu set total2= $total WHERE seq IN(".$impid.")");
我希望它适合你