我有一個電子商務網站項目,這裏是細節,這只是一個小問題,我無法修復它。我有2個表第一個表稱爲項目,第二個表是購物車。我已經叫鏈接添加到購物車中的一個網頁,其中變換我cart.php值不輸入switch語句
a href="cart.php? action=add & id=<?php echo $itemId; ?>"> Add to Cart </a><br/>
'<a href="cart.php? action=show & id=<?php echo $itemId; ?> ">View Shopping Cart </a>`
afther,我已經cart.php頁:
<?php
// Script Error Reporting
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
<html>
<head>
<title> Cart Page </title>
</head>
<body>
<?php
include "function.php";
ConnectToDb();
$id= $_GET['id'];
$action = $_REQUEST['action'];
$action=(isset($_GET['action']) && $_GET['action'] != '') ? $_GET['action'] : 'view';
switch($action){
case "add":
{$sql=mysql_query("SELECT * FROM items WHERE itemId='$id'");
$row=mysql_fetch_array($sql);
$itemPrice= $row["itemPrice"];
$itemName= $row["itemName"];
$quanty=$row["qty"];
$query="insert into cart values('1',".$_GET[id].",1,".$itemPrice.",".$itemName.")";
$result=mysql_query($query);
header("location:cart.php? action=show ");
echo "Item Was Added";
break;
}
case "remove":
{
$query="delete from cart where itemId=".$_GET['id'];
$result = mysql_query($query);
header("location:cart.php?action=show");
}
case "update":
{
$query="update cart set". $quanty = $_POST['quantity']."where itemId=".$_GET['id'];
$result = mysql_query($query);
header("location:cart.php?action=show");
break;
}
case "show_update":
{
$result = mysql_query("select * from cart");
$uid=$row["uid"];
$itemId= $row["itemId"];
$qty=$row["qty"];
$itemPrice= $row["itemPrice"];
$itemName= $row["itemName"];
while($row = mysql_fetch_array($result))
{ if ($itemId == $id)
{
$totalCost =0;
$query = "select * from cart inner join items on cart.itemId= items.itemId";
$result = mysql_query($query);
echo "<table width ='100%' border ='1'>";
while($row = mysql_fetch_array($result))
{$totalCost += ($qty * $itemPrice);
echo "<tr>";
echo "<td>"; echo $itemName; echo "</td>";
echo "<td> SR"; echo $itemPrice; echo "</td>";
echo "<td> <input type ='text' name='quantity' value=".$qty."</td>";
echo'<td width="23%"><a href="cart.php?action=update&id='.$itemId.'">save</a></td>';
echo'<td width="23%"><a href="cart.php?action=remove&id='.$itemId.'">Remove</a></td>';
echo"</tr>";}
// Increment the total cost of all items
$totalCost += ($row["qty"] * $row["itemPrice"]);
echo "<tr> <td colspan='2'> <a href='products.php'>Keep Shopping</a></td>";
echo "<td colspan='2'> <b>Total: SR".$totalCost."</b></td></tr>";
echo "</table>";
}
else{
$totalCost =0;
$query2 = "select * from cart inner join items on cart.itemId= items.itemId";
$result2 = mysql_query($query2);
echo "<table width ='100%' border ='1'>";
while($row2 = mysql_fetch_array($result2))
{$totalCost += ($row2["qty"] * $row2["itemPrice"]);
echo "<tr>";
echo "<td>"; echo $row2['itemName']; echo "</td>";
echo "<td> SR"; echo $row2["itemPrice"]; echo "</td>";
echo "<td>"; echo $row2["qty"]; echo "</td>";
echo'<td width="23%"><a href="cart.php?action=show_update&id='.$row2["itemId"].">edit</a></td>";
echo'<td width="23%"><a href="cart.php?action=remove&id='.$row2["itemId"].">Remove</a></td>";
echo"</tr>";
}
// Increment the total cost of all items
$totalCost += ($row2["qty"] * $row2["itemPrice"]);
echo "<tr> <td colspan='2'> <a href='homestore.php'>Keep Shopping</a></td>";
echo "<td colspan='2'> <b>Total: SR".$totalCost."</b></td></tr>";
echo "</table>";}
break;
}}
case "show":
{
$totalCost =0;
$query = "select * from cart inner join items on cart.itemId = items.itemId";
$result = mysql_query($query);
?>
<table width="100%" border="1">
<?php while($row = mysql_fetch_array($result))
{
$totalCost += ($row["qty"] * $row["itemPrice"]);
?>
<tr>
<td><?php echo $row["itemName"]; ?></td>
<td>SR<?php echo $row["itemPrice"]; ?></td>
<td><a href="cart.php?action=show_update&id=<?php echo $row["itemId"]; ?>">edit</a></td>
<td><a href="cart.php?action=remove&id=<?php echo $row["itemId"]; ?>">Remove</a></td>
</tr>
<?php }
// Increment the total cost of all items
$totalCost += ($row["qty"] * $row["itemPrice"]);
$totalCost = $totalCost + ($row["qty"] * $row["itemPrice"]); ?>
<tr> <td colspan="2"> <a href="products.php">Keep Shopping</a></td>
<td colspan="2"> <b>Total: SR<?php echo $totalCost; ?></b></td></tr>
</table>
<?php break; }
}
?>
</body>
</html>
這裏的想法如果用戶點擊鏈接的行動=「添加」,產品的ID將transfare到cart.php, 問題是$行動不能插入switch敘述eventhough我有 回聲$行動,並將其打印添加 我做沒有知道爲什麼它不列入進入switch敘述 還我已經試過回聲$ ID,並將其打印2這是正確的 我試過的var_dump($ _ GET),也它的工作原理就說明我有字符串添加和id = 2 我想成爲crasy,因爲我整天在舞臺2上設置,這是行不通的。
在這裏,我不與車的會議,也沒有,這就是爲什麼在加的情況下我插入1作爲UID第一個值就在剛纔,如果它的工作的成功,我將添加會話用戶interset。 之後添加到卡壓會直接傳送到顯示的情況下,我們找到編輯和刪除課程的 在表演的情況下按壓刪除它會轉移他刪除的情況下 然而
如果出現在他按下編輯鏈接它會將他轉移到showupdate的情況下,他可以編輯的數量,如果ID匹配ID文本框將生成其他產品將不會有文本框,默認情況下數量將1如果文本框wasgenerated保存鏈接它會出現哪些變換他更新的情況下我們更新購物車表格中的數量。
我只是想知道爲什麼$action
沒有得到進入到switch敘述?
它有可能''ConnectToDb()'函數不會自動返回或失敗,在它後面放一個打印語句以確保你從它返回。你應該添加一個默認的案例(參見[docs](http://php.net/manual/en/control-structures.switch.php)),看看你是不是正確匹配一個案例。 – jedwards 2012-04-28 00:03:47
另一集[Bobby Tables](http://xkcd.com/327/) – 2012-04-28 00:04:20
爲了調試的目的嘗試添加一個默認的開關,並在其中打印$ action – Musa 2012-04-28 00:05:22