tags:

views:

74

answers:

3
+2  A: 

Notice this bit:

<?php 
} 
?> 
<?php 
else { 
?> 

Have you tried NOT splitting the ending of the if and the else into two different code blocks? I strongly doubt the parser will maintain that kind of context: the first block works to terminate the if block, and since it doesn't read an else, it assumes you're done with it. Thus, the else you have in the next block is disconnected from your if.

The idea that the else would somehow connect to the innermost if is entirely wrong. The grammar would be far too broken if that were possible.

Michael Madsen
A: 

Your code definitely needs a major cleanup. Indentation isn't something you only hear about at a dentist's office. It's used to give your code visual structure and make it much easier to see at a glance where code belongs in a series of nest brackets. You essentially have NO indentation whatsoever, except for, oddly enough, the mysql query, which is beautifully formatted.

Since PHP's spitting out an 'unexpected else', that means you've got too many or too few brackets somewhere, or have something like this:

if ($condition) {
} else {
} else {
}

Clean up your code, use proper formatting, and I'd suggest using an editor, such as VI, which can help you find missing/extra brackets (the '%' command in VI, to bounce between matched brackets).

Marc B
thanks marc BI will download the VI
jona1
you meant VIM editor Marc B?
jona
Yes, VIM is "VI iMproved". But both will offer the 'bounce on brackets' functionality.
Marc B
A: 

@Mark Byers below there is a simpler version of the code above and it has three if statement two before the else one inside a for each loop and another inside the for loop I want the one at the foreach loop to pair up with the else statement.

<?php
$totalCost=0;
foreach($result as $row)
{  
if($row['ckb_id']){ if statement that will match the else statement..
// 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) // if statement inside the for loop
{
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&register=%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
} // end of if statement
?>
<?php
else { // beginning of else statement
?>
<?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&register=%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).  '&register='. $_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).  '&register='. $_GET['register']. ""?>>Your Shopping Cart</a></font></td>
</tr><?php */?>

</tr>
</table>

</table>
jona