首先,这是我的第一个PHP商店,所以如果我看起来有点愚蠢,我道歉。
简短表单:如何为PHP购物车的$_SESSION
变量传递一组值,而不为页面上的每个项目使用单独的表单?
这是情况。我正在尝试创建一个商店。每个页面上的产品将从MySQL数据库中调用,并按成本进行组织。这一切都很完美。
我遇到的问题涉及项目选项。其中一些物品,如球帽,T恤和其他各种商品,将有多种尺寸/颜色。我现在这样组织的方式是MySQL表中符合条件的每个条目都输出到它自己的形式,如果适用,还有大小和颜色选项。我遇到的问题是,虽然我可以将这些发布到另一个页面,但我似乎无法将它们分配给变量。
我想完全取消表单,并使用这样的超链接: 添加到购物车 但我不确定这是一个选项,广告我需要传递一些项目的大小和颜色的值。
我知道这已经做过,而且经常,但我似乎无法让Google帮助我。任何建议/提示/技巧将不胜感激。
以下是我当前的代码,使用我认为在我开始时会很好的多种形式方法:
<?php
while($row = mysql_fetch_array($data)){
echo "<form method='post' action='addcart.php'>";
echo "<tr><td><img width='100' width='100' src='itemImages/" . $row['itemIMG'] . "'/></td>
<td>" . $row['itemNAME'] . "</td>
<td><p id='description'>" . $row['itemDESC'] . "</p></td> <td>";
//Color dropdown population happens here
if($row["itemCOL1"] != ' '){
echo "<select name=colors>";
$finished = 'false';
$i = '0';
$colrow = mysql_fetch_array($coldata);
while($finished != 'true'){
if($colrow[$i] != ' '){
echo "<option value=" . $colrow[$i] . ">" . $colrow[$i] . "</option>";
$i++;
} else {
echo "</select>";
$finished='true';
}
}
}
//Size option dropdown handled here
if($row['itemHSIZ'] != "N"){
echo "<select name=prodSizes>";
echo "<option value=X-Small>X-Small </option>";
//Sizes omitted for brevity
echo "</select>";
}
echo "<input type='hidden' name='prodName' value='" . $row['itemNAME'] . "' />";
echo "<input type='submit' name='submit' value='Submit' /></form>";
};
//...and above here.
mysql_close($con);
?>
答案 0 :(得分:1)
我想你可以将表格打开并在你的while循环外面形成,让所有的项目都在一个表格中,因此有一个帖子:
<?php
echo "<form method='post' action='addcart.php'>";
while($row = mysql_fetch_array($data)){
echo "<tr><td><img width='100' width='100' src='itemImages/" . $row['itemIMG'] . "'/></td>
<td>" . $row['itemNAME'] . "</td>
<td><p id='description'>" . $row['itemDESC'] . "</p></td> <td>";
//Color dropdown population happens here
if($row["itemCOL1"] != ' '){
echo "<select name=colors>";
$finished = 'false';
$i = '0';
$colrow = mysql_fetch_array($coldata);
while($finished != 'true'){
if($colrow[$i] != ' '){
echo "<option value=" . $colrow[$i] . ">" . $colrow[$i] . "</option>";
$i++;
} else {
echo "</select>";
$finished='true';
}
}
}
//Size option dropdown handled here
if($row['itemHSIZ'] != "N"){
echo "<select name=prodSizes>";
echo "<option value=X-Small>X-Small </option>";
//Sizes omitted for brevity
echo "</select>";
}
echo "<input type='hidden' name='prodName' value='" . $row['itemNAME'] . "' />";
};
echo "<input type='submit' name='submit' value='Submit' /></form>";
//...and above here.
mysql_close($con);
?>
请告诉我这是不是你的意思!
答案 1 :(得分:0)
使用JavaScript可以通过几种方式解决这个问题。您可以使用JavaScript通过附加到“添加到购物车”按钮/链接的onclick事件对php脚本进行ajax调用,或者在选择选项时使用JavaScript将参数添加到添加到购物车链接。
这有意义吗?
PS不要像那样在p标签上使用id。您希望保持id值唯一。