有人可以解决我的问题吗?我收到了这个错误:
注意:在第65行的C:\ Program Files(x86)\ xampp \ htdocs \ dede \ transaksi.php中使用未定义的常量数量 - 假设'qty' 注意:未定义的偏移量:第65行的C:\ Program Files(x86)\ xampp \ htdocs \ dede \ transaksi.php中的3
在这个脚本上,我想在成本和数量之间相乘,有谁知道?
$select=mysql_query("Select nota.id_item,nota.qty,item.nama_item,item.cost_item FROM nota,item WHERE nota.id_item = item.id_item");
while($data=mysql_fetch_array($select)){
$sub=$_POST[$data[qty]] * $_POST[$data[cost_item]];
echo"<tr>";
echo"<td height=20 >$data[id_item]</td>";
echo"<td height=20 >$data[nama_item]</td>";
echo"<td height=20 >$data[cost_item]</td>";
echo"<td height=20 >$data[qty]</td>";
echo"<td height=20 >$data[qty]*$data[cost_item]</td>";
echo"<td><a href=deleten.php?id=$data[id_item]>X</a></td>";
echo"</tr>";}
让我们打破这个......
$select = mysql_query("Select nota.id_item,nota.qty,item.nama_item,item.cost_item FROM nota,item WHERE nota.id_item = item.id_item");
while($data=mysql_fetch_array($select)) {
此时,你的$data
变量应该有8个元素。由于您使用了mysql_fetch_array()
,因此您将拥有数字和关联键。也就是说,您的密钥将是:0, 1, 2, 3, id_item, qty, nama_item, cost_item
,您可以像这样引用它们:$data[1]
,或者像这样:$data['qty']
(因为它们按原始查询的顺序编制索引,这两个示例的值应该相同)。
现在,我不知道你为什么要使用$_POST
...如果你想把成本乘以你从数据库得到的数量的数量,你只需要做:
$sub = $data['qty'] * $data['cost_item'];
顺便说一下,你要面对的另一个问题是PHP不会对数组成员进行字符串替换...至少不是你在这里的方式:
echo"<td height=20 >$data[qty]</td>";
鉴于你将$data[qty]
修复为$data['qty']
,你仍然需要用花括号包围整个东西以便打印。否则,您将收到解析错误:
echo"<td height=20 >$data['qty']</td>"; // Bad
echo"<td height=20 >{$data['qty']}</td>"; // Good