我在我正在构建的网站上设置了一个购物车。我可以轻松地添加商品、删除商品和清除购物车。我遇到的问题实际上是显示购物车中的物品,或者更多的是相关的数据库条目。
PHP 会话变量保存与用于识别数据库中项目的 ID 号相关的数字。然后我需要购物车显示图像、名称、删除选项和 ID 号。当显示购物车时,如果有多个项目,图像和名称始终是购物车中的第一个项目,每个条目重复,而 ID 号确实会改变。
这让我觉得我只执行一个查询,而实际上我需要在下面我的第一个代码段的 foreach 循环内运行查询。作为 PHP 的新手,我不太确定解决此问题的最佳方法。我刚刚通过 Dreamweaver(第二个代码)添加了一个记录集。
有人能指出指导我解决小问题的最佳方向吗?
非常感谢
购物车展示:
<?php
$cart = $_SESSION['cart'];
if (!$cart) {echo "<div class='dialogue_box_inside_info_request'>
<div class='dialogue_box_image'>
<img src='images/basket_empty_dialogue.png' width='618' height='264' />
</div>
</div>";}
else
{
$array = explode(',', $_SESSION['cart']);
echo "<table width='835' border = '0'>";
foreach($array as $cartId) {
$ship_name = $row_ships['ship_name'];
$ship_image = $row_ships['image'];
echo "<tr>";
echo "<td width='110' height='58' class='table_text'><img src='images/ships/$ship_image'width='83' height='53' /> </td>";
echo "<td width='620' height='58' class='table_text'>$ship_name</td>";
echo "<td width='35' height='58' class='table_text'><a href='cart.php?action=delete&ship_id=$cartId'><img src='images/trash.png' width='31' height='42' /></a></td>";
echo "<td height='58'>$cartId</td>";
echo "</tr>";
}
echo "</table>";
}
?>
记录集放置在代码顶部
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
mysql_select_db($database_ships, $ships);
$query_ships = "SELECT ship_id, ship_name, image FROM ship_infomation";
$ships = mysql_query($query_ships, $ships) or die(mysql_error());
$row_ships = mysql_fetch_assoc($ships);
$totalRows_ships = mysql_num_rows($ships);
?>