- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 PHP 上创建购物车,
代码很简单,当客户填写数量并单击“添加到购物车”按钮时,代码会将产品 ID 和数量保存到购物车表中。但问题是Form里面的Looping。以及如何仅从客户点击的按钮获取 ID 和数量。
程序看起来像这样
像这样的脚本
<?php
if(isset($_POST[ADD]))
{
$qty = $_POST[QTY];
$harga = $_POST[HARGA_ASLI];
$id = $_POST[ID];
print_r($_POST);
}
$kolom = 3;
$sql = "SELECT *,FORMAT(harga,0)AS harga_digit FROM item";
$hasil = mysql_query($sql);
echo "<form method=POST action=index.php>";
echo "<table>
<tr>";
$i = 0;
while($data=mysql_fetch_array($hasil))
{
if($i >= $kolom)
{
echo "</tr><tr>";
$i = 0;
}
$i++;
echo "<td align='center'><br><a href='detailBarang.php?ID=$data[ID]'><img src='$data[img]' width='200' height='150'/><br>$data[nama_produk]</a><br>
Rp. $data[harga_digit]<br>
<input type='submit' name='ADD' id='ADD' value='Add to Cart'>
<input type='text' name='QTY' id='QTY' placeholder='Qty' /><br>
<input type='hidden' name='HARGA_ASLI' id='HARGA_ASLI' value='$data[harga]' /><br>
<input type='hidden' name='ID' id='ID' value='$data[ID]' />
<br></td>";
}//end of while
echo "<tr></table>";
echo "</form>";
?>
如果我填写数量并单击“添加到购物车”,则只有最后一个项目可以发布数据。
如何发布仅供客户选择的数据?
我非常感谢您的回答。
谢谢
最佳答案
首先,让我们将 MySQL 转换为 MySQLi。更多解释见评论/* */:
<?php
$connection=mysqli_connect("YourHost","YourUsername","YourPassword","NameofYourDatabase");
if(mysqli_connect_errno()){
echo "Error".mysqli_connect_error();
}
$res=mysqli_query($con,"SELECT * FROM item");
while($row=mysqli_fetch_array($res)){
$nameofsubmitbutton=$row['ID'];
if(isset($_POST[$nameofsubmitbutton])){
$nameofproduct=$row['namaproduk'];
$nameofnumbersubmitted=$nameofsubmitbutton."number";
$quantity=$_POST[$nameofnumbersubmitted];
if(empty($quantity)){
echo "You wanted to buy a ".$nameofproduct."?<br>Type in a number so you can add it to your cart.";
}
else {
mysqli_query($connection,"INSERT INTO yourTable ('','') VALUES ('$quantity','$nameofproduct')");
echo "You bought ".$quantity." of ".$nameofproduct;
}
} /* END OF IF ISSET */
} /* END OF WHILE LOOP $RES */
$kolom = 3;
$hasil = mysqli_query($connection,"SELECT *,FORMAT(harga,0) AS harga_digit FROM item"); /* YOU SURE WITH THIS QUERY? */
echo "<form method=POST action=''>"; /* SUBMIT ON ITSELF */
echo "<table><tr>";
$i = 0; /* THIS WOULD ALSO SET AS YOUR COUNTER */
while($data=mysqli_fetch_array($hasil))
{
$id=$data['ID'];
if($i >= $kolom){
echo "</tr><tr>";
$i = 0;
} /* END OF IF $i >= $KOLOM */
$i++;
echo "<td align='center'><br><a href='detailBarang.php?ID=$data[ID]'><img src='$data[img]' width='200' height='150'/><br>".$data[nama_produk]."</a><br>Rp. ".$data[harga_digit]."<br>"; /* IF TO ECHO VARIABLES, USE ".$variable." */
$numbername=$id."number";
echo "<input type='number' name='$numbername' id='QTY' placeholder='Qty' /><br>"; /* CHANGE YOUR INPUT TYPE TO NUMBER */
/* NO NEED FOR THE HIDDEN INPUT */
echo "<input type='submit' name='$id' id='ADD' value='Add to Cart'></td>"; /* CHANGE THE NAME OF SUBMIT BUTTON TO THE CORRESPONDING ID FROM YOUR TABLE */
} /* END OF WHILE LOOP */
echo "<tr></table>";
echo "</form>";
?>
我在本地计算机上尝试过。你也应该这样做。
这是一个示例屏幕截图。
关于php - 提交按钮内有多个 ID 循环?(购物车),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22549380/
我正在使用 suplot2grid 绘制 6 个子图,每个子图内部都有 2 个时间序列。每个子图都应在不同的 Y(垂直)轴上显示值。 我当前的输出接近我的目标,但仍然错误,如下所示: 现在我所做的事情
我想在两个斜杠之后使用带有操作的 Controller ,就好像它是操作中的操作一样。 示例:.../Administration/Institution/Register/Id 我正在使用解决方案:
在下面的查询中,我想在 CASE 的 WHEN 和 THEN 之前添加一个 AND 条件是否可行? 例如 WHEN 'r' AND table1.name="jones"THEN 'very high
在下面的查询中,我想在 CASE 的 WHEN 和 THEN 之前添加一个 AND 条件是否可行? 例如 WHEN 'r' AND table1.name="jones"THEN 'very high
我有一个标题标签,定义如下: private lazy var titleLabel: UILabel = { let label = UILabel() label.numberOfLines
我应该如何为我的以下场景实现 TableView -数据源架构: 两个 View Controller ,每个 View Controller 都包含自己的 TableView 。 表格 View 单
这一直让我发疯,从来没有找到正确的答案。 我想实现以下目标: http://juicybyte.com/stack-overflow.jpg 意思是,我想在左侧的 div 上放置一个图像,并根据内容的
我在 Firefox 正确显示切换的 div 时遇到问题。我看过其他问题,但似乎没有一个涉及同一问题。 我在两个正在切换的 div 中都有一个 wufoo 表单,这是我的代码。 $(document
我想要实现的目标非常简单。我有一个带有展开/折叠图标和问号图标的 div。当用户单击这些图标之一时,相应的隐藏 div 应向下滑动。 当用户单击展开/折叠图标而不是问号时,此功能有效。 HTML:
我有这样的东西: google Hello World 我想为所有 应用边框有一个 里面。但我不能使用 id因为此代码需要适用于任何页面,而我无法控制 ID。这可以通过 CSS
我正在尝试在各自的 docker 容器中运行 Node 和 nginx,并从 nginx 到 Node 进行代理。我首先尝试了下面的配置没有docker并且它有效。但是,当使用 docker 时,它不
使用 try-catch-finally 结构来检索数据库记录,似乎我需要在 try block 内返回一个值,以防万一一切正常(如出现异常,函数的末尾并不意味着到达)。但是如果我返回到 try 内部
我是一名优秀的程序员,十分优秀!