我在查询字符串中有以下输出:
add_to_cart.php?product_id=4&product_name=Pizza&quantity=1&additional_id[]=1&additional_quantity[]=3&additional_id[]=4&additional_quantity[]=5
我正在尝试使用每个附加ID及其各自的数量来设置一个数组。每个ID对应于表 extraals 中数据库中的其他产品,我需要为每个ID进行SQL查询以获取价格和附加名称,然后显示价格乘以他们的数量
如果我使用:
foreach ($_GET['additional_id'] as $value)
{
echo "<p>{$value}</p>";
}
如果输出基于上面的示例查询字符串,我得到:
1
4
但我需要在 add_to_cart.php 文件中添加每个ID及其数量在此数组内的ID:
$columns = array
(
'product_id_session' => $product_id_session,
'product_id' => $product_id,
'product_name' => $product_name,
'product_price' => $product_price,
'quantity' => $quantity,
'additional_id' => //Maybe I need a foreach here or another array to add all the additionals of Query String?
'additional_quantity' => //Here too?
'additional_name' => //Retrieved from database, like price below
'additional_price' => //Like additional_name, I will need to connect to database and get the price of each additional ID present in the Query String
);
我试图做的事情如下:
add_to_cart.php?product_id=4&product_name=Pizza&quantity=1&additionals=additional_id[]=1&additional_quantity[]=3&additional_id[]=4&additional_quantity[]=5
这可能是正确的方法吗?也许我可以使用additionals
创建一个数组并将其解析为columns
数组?以及如何通过SQL additional_price
的SQL连接为查询字符串中的每个附加ID获取additional_name
和additionals
?这对我来说非常复杂。我感谢任何帮助!
答案 0 :(得分:0)
尝试
foreach ($_GET['additional_id'] as $key=>$value)
{
$id = htmlspecialchars($value);
$qty = htmlspecialchars($_GET['additional_quantity'][$key]);
echo "<p>ID: $id, Quantity: $qty</p>";
}
这假定additional_id
和additional_quantity
数组的长度相同,additional_id
的每个索引都与additional_quantity
的相同索引匹配。
您可能应该使用其他方法来传递这些类型的值。这样做是非常不安全和脆弱的。