Below is the whole code and an explanation of why I think is not working. thanks!
<?php
switch($_GET["action"])
{
case "add_item":
{
AddItem($_GET["ids"], $_GET["qty"]);
ShowCart();
break;
}
case "update_item":
{
UpdateItem($_GET["ids"], $_GET["qty"]);
ShowCart();
break;
}
case "remove_item":
{
RemoveItem($_GET["ids"], $_GET["id"]);
ShowCart();
break;
}
default:
{
ShowCart();
}
}
function AddItem($itemId, $qty){
$result = mysql_query("SELECT COUNT(*) FROM cart WHERE cookieId = '" . GetCartId() . "' AND id = $itemId");
$row = mysql_fetch_row($result);
$numRows = $row[0];
if($numRows == 0)
{
// This item doesn't exist in the users cart,
// we will add it with an insert query
mysql_query("INSERT INTO cart(cookieId, id, qty) values('" . GetCartId() . "', $itemId, $qty)");
//printf ("Inserted records: %d\
", mysql_affected_rows());
}
else
{
// This item already exists in the users cart,
// we will update it instead
mysql_query("UPDATE cart SET qty = $qty WHERE cookieId = '" . GetCartId() . "' AND id = $itemId");
}
}
function UpdateItem($itemId, $qty)
{
mysql_query("UPDATE cart SET qty = $qty WHERE cookieId = '" . GetCartId() . "' AND id = $itemId");
//printf ("Updated records: %d\
", mysql_affected_rows());
}
function RemoveItem($itemId)
{
mysql_query("DELETE FROM cart WHERE cookieId = '" . GetCartId() . "' AND id = $itemId");
}
echo $ids;
?>
<?php
function ShowCart()
{
$result = mysql_query("SELECT
cart.id cart_id,
cart.id cart_id,
cart.cartId cartId,
cart.cookieId cookie_Id,
cart.qty qt_y,
cdkb.id cdkb_id,
cdkb.name name,
cdkb.image image,
cdkb.price price,
dkb.id dkb_id,
dkb.name name1,
dkb.image image1,
dkb.price price2,
dbl.product_id product_id,
dbl.price price3,
dbl.variety variety,
dbl.description description
FROM
cart
LEFT OUTER JOIN cdkb
ON cart.id = cdkb.id
LEFT OUTER JOIN dkb
ON cart.id = dkb.id
LEFT OUTER JOIN dbl
ON dbl.id = dkb.id
WHERE
cart.cookieId ='" . GetCartId() . "' ' ORDER BY cdkb.name AND dkb.name ASC");?>
<div id="cart">
<div id="group">
<div id="quantity">Qty</div>
<div id="cartpic">Pic</div>
<div id="product">Product</div>
<div id="cartprice">Price</div>
<div id="remove">Remove</div>
</div>
<?php
$totalCost=0;
foreach($result as $row)
{
if($row['ckb_id']){
// Increment the total cost of all items
$totalCost += ($row["qt_y"] * $row["price"]);
?>
<div id="cart1">
<select name="<?php echo $row["cdkb_id"];?>" onChange="UpdateQty(this)">
<?php print($row["cdkb_id"]);?>
<?php
for($i = 1; $i <= 30; $i++)
{
echo "<option ";
if($row["qt_y"] == $i)
{
echo " SELECTED ";
}
echo ">" . $i . "</option>";
}
?>
</select>
</div>
<div id="cart2">
<img src="images/logopic.gif"<?php /*?><?php echo $row["image"]; ?><?php */?> alt="we" width="60" height="50" />
</div>
<div id="cart3"><p><?php echo $row["name"]; ?></p></div>
<div id="cart4"><p>
$<?php echo number_format($row["price"], 2, ".", ","); ?></p></div>
<div id="cart5">
<p><?php
printf('<a href="cart.php?action=remove_item&id=%d&ids=%d®ister=%s">Remove</a>', $_GET['id'], $row['cdkb_id'], $_GET['register']);
?></p></div>
<hr size="1" color="red" >
<script language="JavaScript">
function UpdateQty(item)
{
itemId = item.name;
newQty = item.options[item.selectedIndex].text;
document.location.href = 'cart.php?action=update_item&id='+itemId+'&qty='+newQty;
}
</script>
<?php
}
?>
<?php
else {
?>
<?php // Increment the total cost of all items
$totalCost += ($row["qt_y"] * $row["price2"]);
?>
<div id="cart1">
<select name="<?php echo $row["dkb_id"];?>" onChange="UpdateQty(this)">
<?php print($row["dkb_id"]);?>
<?php
for($i = 1; $i <= 30; $i++)
{
echo "<option ";
if($row["qt_y"] == $i)
{
echo " SELECTED ";
}
echo ">" . $i . "</option>";
}
?>
</select>
</div>
<div id="cart2">
<img src="images/logopic.gif"<?php /*?><?php echo $row["image2"]; ?><?php */?> alt="we" width="60" height="50" />
</div>
<div id="cart3"><p><?php echo $row["name2"]; ?></p></div>
<?php foreach ($row['dkb_id'] as $variety) {?>
<div id="cart4">
<?php echo"<p>".$variety['variety']. " ~ " . $variety['price3'] . "</p>" ?>
<p>$<?php echo number_format($row["price3"], 2, ".", ","); ?></p></div>
<?php } ?>
<div id="cart5">
<p><?php
printf('<a href="cart.php?action=remove_item&id=%d&ids=%d®ister=%s">Remove</a>', $_GET['id'], $row['dkb_id'], $_GET['register']);
?></p></div>
<hr size="1" color="red" >
<script language="JavaScript">
function UpdateQty(item)
{
itemId = item.name;
newQty = item.options[item.selectedIndex].text;
document.location.href = 'cart.php?action=update_item&id='+itemId+'&qty='+newQty;
}
</script>
<font face="verdana" size="2" color="black" style="clear:right;">
<b>Total: $<?php echo number_format($totalCost, 2, ".", ","); ?></b></font></td>
<?php } ?>
<?php } ?>
<div id="shopping">
<a href=<?php echo "exa2.php?id=".intval($id). '®ister='. $_GET['register']. ""?>> Keep Shopping</a></div>
<?php /*?><tr>
<td colspan="4">
<font face="verdana" size="1" color="black">
<a href=<?php echo "cart.php?id=".intval($id). '®ister='. $_GET['register']. ""?>>Your Shopping Cart</a></font></td>
</tr><?php */?>
</tr>
</table>
</table>
In the code above below the query there will be an if and else statement sequence that is causing a parse errror: syntax error, as it fallows Parse error: syntax error, unexpected T_ELSE. Look at the if and else statment design and what’s possiblly causing this error.
if {
for (blabla) {
if {
}// end of if statement inside the for loop
} //end of for loop.
} end of if statement
else{ // line 379
}// end of else statement
What I believe is causing the T_ELSE syntax error above as I said in the last post is the if statement inside the for loop. Php believes that the else statement is working together with the if statement inside the for loop and what I want is the if statement outside the for loop work together with the else statement. The error looks like this:
PS everything that possibly causing the parse error is below the query. thanks.
The INTENDED DISPLAY in between the if and else would look like
foreach($result as $row)
{
if (table cdkb) {
[1]qyt image name price remove
1 --- marina $18.90 remove?
}end of if statement
Else table dkb {
1]qyt Image Name Price Remove
1 --- marina Small Tray $18.90 remove?
Medium Tray $30.24
Large Tray $35.90
} // end of else statement
}//end of while loop
This is the array structure behind the INTENDED display!
<?php
$result = array(
'0' => array('cdkb_id' => 'id 1',
'image' => 'img 1',
'name' => 'name 1',
'price' => 'price 1'
),
'1' => array('image1' => 'img 2',
'name1' => 'name 2',
'dkb_id' => array('0' => array('variety' => 'variety 2-1',
'price3' => 'price 2-1'
),
'1' => array('variety' => 'variety 2-2',
'price3' => 'price 2-2'
),
'2' => array('variety' => 'variety 2-3',
'price3' => 'price 2-3'
)
)
),
'2' => array('cdkb_id' => 'id 3',
'image' => 'img 3',
'name' => 'name 3',
'price' => 'price 3'
),
'3' => array('image1' => 'img 4',
'name1' => 'name 4',
'dkb_id' => array('0' => array('variety' => 'variety 4-1',
'price3' => 'price 4-1'
),
'1' => array('variety' => 'variety 4-2',
'price3' => 'price 4-2'
),
'2' => array('variety' => 'variety 4-3',
'price3' => 'price 4-3'
)
The only thing on the way is the T_ELSE because there is an if in between the if and else statement inside the for loop…
Thank.