Hi folks!
I got a little problem with my assignment.
The idea is to create online bookstore.
As far didn't have much troubles with the project, until now.
Problem occures when I'm trying to update/delete an entry to mySql.
if you take a look at line 93 - there is 3times equal mark, in this case update works nice, but while I'm trying to delete entry - typing 0
, than only quantity is removed form sql(equals to 0), but if you remove "=" than no metter what you type in, whole entry is been removed form sql - it should do this only after typing 0.
Hope you might help me,
many thanks in advance!
code goes here:
<?php
session_start();?>
<?php
if (isset($_REQUEST["update"])) // add was clicked
{
update_cart();
display_output_page();
}
else
{
display_output_page();
}
function display_output_page()
{
?>
<html>
<head><title>Displaying the book database table using PHP</title></head>
<h1>YOUR CATALOG</h1>
<p style ="margin-left: 42em"><a href = "books.php">[ Home</a> | <a href = "tisa.php"> Shopping Cart</a>
| <a href = "catalog.php"> Checkout ] </a></P>
<body>
<?php
$db_link = db_connect("project");
$self = $_SERVER['PHP_SELF'];
$quantity=$_REQUEST['quantity'];
$session_id = session_id();
$fields = mysql_list_fields("project", "books_new");
$num_columns = mysql_num_fields($fields);
$query = "SELECT cart.isbn, cart.price, cart.quantity, books_new.isbn, books_new.title, books_new.author, books_new.pub, books_new.year FROM cart,books_new WHERE cart.isbn=books_new.isbn";
//$query = "SELECT books_new.*, cart.* FROM books_new INNER JOIN cart ON books_news.isbn = cart.isbn";
$result = mysql_query($query) or die("SQL query failed");
$row = mysql_num_rows($result);
$total = 0;
if($row == 0)
{
echo"<h1>Your Cart is Empty</h1>";
}
else
{
echo '<table border="1" cellpadding = "5" >', "\n";
echo "<tr>\n";
echo "<th>Isbn</th>\n";
echo "<th>Title</th>\n";
echo "<th>Price</th>\n";
echo "<th>Author</th>\n";
echo "<th>Pub</th>\n";
echo "<th>Year</th>\n";
echo "<th>Quantity</th>\n";
echo "<th>Subtotal</th>\n";
echo "<th>Update</th>\n";
while ($row = mysql_fetch_assoc($result))
{
$isbn = $row['isbn'];
$title = $row['title'];
$price = $row['price'];
$author = $row['author'];
$pub = $row['pub'];
$year = $row['year'];
$quantity = $row['quantity'];
$cost = $quantity*$price;
$total= $cost + $total;
echo "<tr>";
echo "<td>".$row['isbn']."</td>";
echo "<td>".$row['title']."</td>";
echo "<td>".$row['price']."</td>";
echo "<td>".$row['author']."</td>";
echo "<td>".$row['pub']."</td>";
echo "<td>".$row['year']."</td>";
?>
<form action="<?php echo $self ?>" method="POST">
<td><input type = "text" name = "quantity" style='background-color:yellow;' value = "<?php echo $row['quantity'];?>" size = "3" /></td>
<input type="hidden" name="isbn" value ="<?php echo $isbn?>">
<input type="hidden" name="price" value = "<?php echo $price?>">
<?php echo "<td>".$row['price']*$row['quantity']."</td>";?>
<td><input type='submit' name='update' value='update' style='background-color:#DEAAA2;'></td>
</tr>
</form>
<?php
}
echo "<tr><td><td><td><td><td><td><td>Total Price<td>$total</td></td></td></td></td></td></td></td></td>";
echo "</table>\n";
mysql_free_result($result);
mysql_close($db_link);
}
}
function update_cart()
{
$db_link = db_connect("project");
$session_id = session_id();
$isbn = $_REQUEST['isbn'];
$price = $_REQUEST['price'];
$quantity=$_REQUEST['quantity'];
if($quantity=== 0)
{
$query = "DELETE FROM cart WHERE isbn='$isbn' AND session_id= '$session_id'";
//echo($query);
$result = mysql_query($query) or ("<br>delete failed");
}
else
{
$query1 = "UPDATE cart SET quantity = '$quantity' WHERE session_id = '$session_id' AND isbn='$isbn'";
$result1 = mysql_query($query1) or die("<br>Insertion failed");
}
}
function db_connect($db_name)
{
$host_name = "localhost";
$user_name = "root";
$password = "usbw";
$db_link = mysql_connect($host_name, $user_name, $password)
or die("Could not connect to $host_name");
mysql_select_db($db_name)
or die("Could not select database $db_name");
return $db_link;
}
?>
</form>
</body>
</html>