我正在爲大學項目製作購物車,並按照導師的示例代碼進行調整,以適應自己的設計。購物車PHP顯示錯誤
我的網站的產品命名,如
cutecupcak.es/product.php?id=vanilla_cupcakes
而不是
cutecupcak.es/product.php?id=2
的購物車頁面中您的購物車,以顯示產品的代碼是
if(is_numeric($id)) {
$cartresult = mysql_query($sql);
但我的產品網址不是數字,因此購物車不顯示結果,如您在此處所看到的 - http://cutecupcak.es/shoppingcart.php - 如果你測試一下。
,如果你有products.php?id=2
等雖然
,我需要從改變什麼,將工作 - is_numeric
,使其與我的網址格式的工作?
全碼
<?php
session_start(); // start new session or call exisiting session
include('include/dbconnect.php'); // include the database connections
function renderCartForm()
{
$cart = $_SESSION['cart'];
if ($cart) {
$items = explode(',',$cart);
$contents = array();
foreach ($items as $item) {
$contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1;
}
$output[] = '<form action="shoppingcart.php?action=update" method="post" id="cart">';
$output[] = '<div class="form">';
$output[] = '<table border="2" class="formcontainer">';
$output[] = '<tr class="formlabels">';
$output[] = '<td width="400">Cake Name</td>';
$output[] = '<td width="75">Price</td>';
$output[] = '<td width="75">Quantity</td>';
$output[] = '<td width="100">Total</td>';
$output[] = '<td width="100">Remove?</td>';
$output[] = '</tr>';
foreach ($contents as $id=>$qty) {
$sql = 'SELECT * FROM `CAKE` WHERE `cake_url` = '.$id;
if(is_numeric($id)) {
$cartresult=mysql_query($sql);
while($cartrow = mysql_fetch_array($cartresult)) {
$output[] = '<tr>';
$output[] = '<td>'.$cartrow['cake_name'].'</td>';
$output[] = '<td>'.$cartrow['cake_price'].'</td>';
$output[] = '<td><input type="text" name="qty'.$id.'" value="'.$qty.'" size="2" maxlength="2" /></td>';
$output[] = '<td>£'.($cartrow['cake_price'] * $qty).'</td>';
$output[] = '<td><a href="shoppingcart.php?action=delete&id='.$id.'">Remove</a></td>';
$total += $cartrow['cake_price'] * $qty;
$output[] = '</tr>';
}
}
}
$output[] = '</table>';
$output[] = '</div>';
$output[] = '<p>Grand total: <strong>£'.$total.'</strong></p>';
$output[] = '<div class="\"formlabels\"><button type="submit">Update Cart</button></div>';
$output[] = '</form>';
} else {
$output[] = '<p>Your shopping cart is empty.</p>';
}
echo join('
',$output);
}
?>
您的產品名稱可以使用什麼格式?在你的例子中你有字符和下劃線,但你可以有數字嗎? Apostophes?行情? – andrewsi
所有的url都和vanilla_cupcakes一樣沒有數字,基本上一個單詞強調一個單詞 – FoamyMedia
你可以編寫一個函數來檢查文本是否是那種格式。 – andrewsi