有人可以解决我的问题吗? 我收到了这个错误:
注意:在第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>";}
答案 0 :(得分:1)
让我们打破这个......
$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