Page 1 of 1

anyone see anything wrong?

Posted: Thu Jul 29, 2004 9:10 am
by C_Calav
hi guys, i got this script going on its own, but when i intergrated it into my site its not displaying the items in the Show Cart. they are being added from the poducts page but not geting displayed on the cart page.

have i got somehting wrong? not getting any errors.

thanx

Code: Select all

<?php 
session_start(); 

    $db = mysql_pconnect('****', '***', '***') or die ("Could not connect to database");

    if (!$db)
    {
     echo 'Error: Could not connect to database.  Please try again laterrrrrr.';
     exit;
    }

    mysql_select_db('models') or die ("Could not select database!"); 


   include("db.php"); 
        
   switch($_GET["action"]) 
   { 
      case "add_item": 
      { 
         AddItem($_GET["id"], $_GET["qty"]); 
         ShowCart($rs_cart); 
         break; 
      } 
      case "update_item": 
      { 
         UpdateItem($_GET["id"], $_GET["qty"]); 
         ShowCart($rs_cart); 
         break; 
      } 
      case "remove_item": 
      { 
         RemoveItem($_GET["id"]); 
         ShowCart($rs_cart); 
         break; 
      } 
      default: 
      { 
         ShowCart($rs_cart); 
      } 
   } 

   function AddItem($itemId, $qty) 
   { 
      // Will check whether or not this item 
      // already exists in the cart table. 
      // If it does, the UpdateItem function 
      // will be called instead 
        
      // Get a connection to the database 
        
      // Check if this item already exists in the users cart table 
      $result = mysql_query("SELECT count(*) FROM cart WHERE cookieId = '" . GetCartId() . "' AND itemId = $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, itemId, qty) VALUES('" . GetCartId() . "', $itemId, $qty)"); 
      } 
      else 
      { 
         // This item already exists in the users cart, 
         // we will update it instead 
          
         UpdateItem($itemId, $qty); 
      } 
   } 
    
   function UpdateItem($itemId, $qty) 
   { 
      // Updates the quantity of an item in the users cart. 
      // If the qutnaity is zero, then RemoveItem will be 
      // called instead 


      if($qty == 0) 
      { 
         // Remove the item from the users cart 
         RemoveItem($itemId); 
      } 
      else 
      { 
         mysql_query("UPDATE cart SET qty =  $qty WHERE cookieId = '" . GetCartId() . "' AND itemId = $itemId"); 
      } 
   } 
    
   function RemoveItem($itemId) 
   { 
      // Uses an SQL delete statement to remove an item from 
      // the users cart 


      mysql_query("DELETE FROM cart WHERE cookieId = '" . GetCartId() . "' AND itemId = $itemId"); 
   } 
    
   function ShowCart() 
   { 
      // Gets each item from the cart table and display them in 
      // a tabulated format, as well as a final total for the cart 
        

      // Get a connection to the database 
        
      $totalCost = 0; 
      $result = mysql_query("select * from cart inner join planes on cart.itemId = planes.itemId where cart.cookieId = '" . GetCartId() . "' order by planes.P_Name asc");   
      ?> 
     
     <table> 
     <? 
     while($row = mysql_fetch_array($result))
      { 
      // Increment the total cost of all planes 
      $totalCost += ($row["qty"] * $row["P_Price"]); 
      ?> 
      
     <tr> 
      <td width="15%" height="25"> 
      <font face="verdana" size="1" color="black"> 
      <select name="<?php echo $row["itemId"]; ?>" onChange="UpdateQty(this)"> 
      
     <?php 
      for($i = 1; $i <= 20; $i++) 
      { 
      echo "<option "; 
      if($row["qty"] == $i) 
      { 
      echo " SELECTED "; 
      } 
      echo ">" . $i . "</option>"; 
      } 
      ?> 

      </select> 
      </font> 
      </td> 

      <td width="55%" height="25"> 
      <font face="verdana" size="1" color="black"> 
      <?php echo $row["P_Name"]; ?> 
      </font> 
      </td> 
      
     <td width="20%" height="25"> 
      <font face="verdana" size="1" color="black"> 
      $<?php echo number_format($row["P_Price"], 2, ".", ","); ?> 
      </font> 
      </td> 

      <td width="10%" height="25"> 
      <font face="verdana" size="1" color="black"> 
      <a href="cart.php?action=remove_item&id=<?php echo $row["itemId"]; ?>">Remove</a> 
      </font> 
      </td> 

      </tr> 
        
<? 
     } //You have to have this read as php 
?> 

<tr> 
<td width="100%" colspan="4"> 
<hr size="1" color="red" NOSHADE> 
</td> 
</tr> 
<tr> 
<td width="70%" colspan="2"> 
<font face="verdana" size="1" color="black"> 
<a href="products.php"><< Keep Shopping</a> 
</font> 
</td> 
<td width="30%" colspan="2"> 
<font face="verdana" size="2" color="black"> 
<b>Total: $<?php echo number_format($totalCost, 2, ".", ","); ?></b> 
</font> 
</td> 
</tr> 
</table> 

<? 
     } //You have to have this read as php 
?>

Posted: Thu Jul 29, 2004 9:36 am
by C_Calav
sorry solved it!

it was to do wirth my session starts.

i had it like this:

<?php
session_start();
?>

<html>

......

<?php>

....

?>

</html>

then changed it to this:

<?php
session_start();
?>

<html>

......

<?php>
session_start();

....

?>
this made a difference can someone please explain>?

thanx

</html>

Posted: Thu Jul 29, 2004 9:43 am
by d3ad1ysp0rk
Can you show us the WHOLE Working code?
Usually recalling session_start throws you errors.. Maybe you werent calling it properly the first time?