On Sat, 2009-05-16 at 10:54 +0100, Vernon St Croix wrote: > Hi, > > I am pretty new to PHP and I am trying to create a shopping cart. > > I keep on getting the below error when trying to show the shopping list. > > Any guidance that can be provided will be very much appreciated > > Fatal error: Call to a member function query() on a non-object in C:\wamp\www\draft\basket.php on line 36 > > mysql_connect.php > <?php > $con = mysql_connect("localhost","root",""); > if (!$con) > { > die('Could not connect: ' . mysql_error()); > } > mysql_select_db("rum", $con); > ?> > > basket.php > <?php > include("mysql.class.php"); > include ("header.php"); > include ("mysql_connect.php"); > include ("functions.php"); > ?> > <div id="shopping"> > <h2>Rum Basket</h2> > <?php > echo writeCart(); > ?> > </div> > <div id="rumlist"> > <h2>Rum on Offer</h2> > <?php > > $sql= 'SELECT * FROM spirits BY id'; > $result = $con->query($sql); > $output[]= '<ul>'; > while ($row = $result->fetch()) { > $output[] = '<li>'.$row['name'].': £'.$row['price'].'<br/><a href="cart.php?action=add&id= > '.$row['id'].'">Add to Cart</a></li>'; > } > $output[] = '</ul>'; > echo join ('', $output); > ?> > </div> > > </div> > <?php > include("footer.html"); > > ?> > > > cart.php > > <?php > > include ("header.php"); > > include ("mysql_connect.php"); > > include ("functions.php"); > > > > $cart = $_SESSION['cart']; > > > if(isset($_GET["action"])) > { $action = $_GET["action"]; } > else > { $action = ""; } > > > switch ($action) { > case 'add': > if ($cart) { > $cart .= ','.$_GET['id']; > } else { > $cart = $_GET['id']; > } > break; > case 'delete': > if ($cart) { > $items = explode(',',$cart); > $newcart = ''; > foreach ($items as $item) { > if ($_GET['id'] != $item) { > if ($newcart != '') { > $newcart .= ','.$item; > } else { > $newcart = $item; > } > } > } > $cart = $newcart; > } > break; > case 'update': > if ($cart) { > $newcart = ''; > foreach ($_POST as $key=>$value) { > if (stristr($key,'qty')) { > $id = str_replace('qty','',$key); > $items = ($newcart != '') ? explode(',',$newcart) : explode(',',$cart); > $newcart = ''; > foreach ($items as $item) { > if ($id != $item) { > if ($newcart != '') { > $newcart .= ','.$item; > } else { > $newcart = $item; > } > } > } > for ($i=1;$i<=$value;$i++) { > if ($newcart != '') { > $newcart .= ','.$id; > } else { > $newcart = $id; > } > } > } > } > } > $cart = $newcart; > break; > } > $_SESSION['cart'] = $cart; > > ?> > > <div id="shopping"> > > <h2>Rum Basket</h2> > > <?php > echo writeCart(); > ?> > > </div> > > <div id="contents"> > > <h2>Please Check Quantities...</h2> > > <?php > echo showCart(); > ?> > > <p><a href="basket.php">Back to Rum List</a></p> > > </div> > > </div> > > > <?php > include("footer.html"); > > ?> > > functions.php > > <?php > function writeCart() { > $cart = $_SESSION['cart']; > if (!$cart) { > return '<p>There is no alcohol in your Rum Basket</p>'; > } else { > // Parse the cart session variable > $items = explode(',',$cart); > $s = (count($items) > 1) ? 's':''; > return '<p>There are<a href="cart.php">'.count($items).' item'.$s.' in your rum basket</a></p>'; > } > } > > function showCart() { > $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="cart.php?action=update" method="post" id="cart">'; > $output[] = '<table>'; > foreach ($contents as $id=>$qty) { > $sql = 'SELECT * FROM spirits WHERE id = '.$id; > $result = $con->query($sql); > $row = $result->fetch(); > extract($row); > $output[] = '<tr>'; > $output[] = '<td><a href="cart.php?action=delete&id='.$id.'" class="r">Remove</a></td>'; > $output[] = '<td>'.$name.'</td>'; > $output[] = '<td>£'.$price.'</td>'; > $output[] = '<td><input type="text" name="qty'.$id.'" value="'.$qty.'" size="3" maxlength="3" ></td>'; > $output[] = '<td>£'.($price * $qty).'</td>'; > $total += $price * $qty; > $output[] = '</tr>'; > } > $output[] = '</table>'; > $output[] = '<p>Grand total: £'.$total.'</p>'; > $output[] = '<div><button type="submit">Update cart</button></div>'; > $output[] = '</form>'; > } else { > $output[] = '<p>You shopping cart is empty.</p>'; > } > return join('',$output); > } > > ?> > > > > > Many Thanks > > Vee Hi, if i look at the code of basket.php its only 33 lines long, hence it must be counting the includes as well. Send me zip file of you project, i can help debug. regards, Max. ------------------------------------ Max E. Kimambo Franz-Stenzer-Str, 51 12679 Berlin Office: +493053080013 Mobile: +4917649520175 ------------------------------------ Fortune message of the moment You will triumph over your enemy. ------------------------------------ -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php