Jump to content

Sql and php order list script problems


skoobi

Recommended Posts

Hi im having a few problems with trying to get the coding right on a orders list ive done (or trying to do) for a custom shopping cart im making... For some reason it comes up with all the orders in stead of 1. i.e. If there i start from scratch ill have order number 1 which will have the order in but if i create another order it displays order number 2 twice with both the customers details on...

 

Heres the code:

<?php
include ('../includes/db.php');
include('search.php');
?>       
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Orders</title>
</head>


<body>

<a href="orders.php">Refresh</a> || <a href="admin.php">Back to Admin</a> <br/><br/>

<form method="GET" action="<?php echo $_SERVER['PHP_SELF'];?>" name="searchForm"> 
<input type="text" name="search" value="<?php echo isset($searchTerms)?htmlspecialchars($searchTerms):''; ?>" />
<input type="submit" name="submit" value="Search!" /> ||
First Name: <input type="checkbox" name="firstname" value="on" <?php echo isset($_GET['firstname'])?"checked":''; ?> /> ||
Last Name: <input type="checkbox" name="lastname" value="on" <?php echo isset($_GET['lastname'])?"checked":''; ?> /> ||
House Name: <input type="checkbox" name="address1" value="on" <?php echo isset($_GET['address1'])?"checked":''; ?> /> || 
Post Code: <input type="checkbox" name="zip" value="on" <?php echo isset($_GET['zip'])?"checked":''; ?> />
</form>
<br />
<?php echo (count($error) > 0)?"The following had errors:<br /><span id=\"error\">" . implode("<br />", $error) . "</span><br /><br />":""; ?>
<?php echo (count($results) > 0)?"Your search for '{$searchTerms}' returned:<br /><br />" . implode("", $results):""; ?>
<?php

$result = mysql_query("SELECT * FROM customers INNER JOIN order_detail ORDER BY orderid DESC");

echo "<table border='1'>
<tr>
<th>Order Number</th>
<th>Firstname</th>
<th>Lastname</th>
<th>Address 1</th>
<th>Address 2</th>
<th>City</th>
<th>State</th>
<th>Post Code</th>
<th>Phone</th>
<th>Payment</th>
<th>Price</th>
<th>Total</th>
<th>Payed</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['orderid'] . "</td>";
  echo "<td>" . $row['firstname'] . "</td>";
  echo "<td>" . $row['lastname'] . "</td>";
  echo "<td>" . $row['address1'] . "</td>";
  echo "<td>" . $row['address2'] . "</td>";
  echo "<td>" . $row['city'] . "</td>";
  echo "<td>" . $row['state'] . "</td>";
  echo "<td>" . $row['zip'] . "</td>";
  echo "<td>" . $row['phone'] . "</td>";
  echo "<td>" . $row['payment'] . "</td>";
  echo "<td>£" . $row['price'] . "</td>";
  echo "<td>£" . $row['total'] . "</td>";
  echo "<td>" . $row['payed'] . "</td>";
  echo "</tr>";
  }
echo "</table>";
mysql_close();
?>
</body>
</html>

 

Im completely stuck on this as im no php or mysql gurru...

so any help or info would be greatfull...

 

Cheers

Chris

Link to comment
Share on other sites

When doing a JOIN without any criteria the code will join every record from the first table with every record from the second table. You need to proivde some 'logic' on which records you want joined to the others. Assuming the 'customers' table has an ID field aqnd the 'order_detail' table has a foreign key for the customer ID the query might look like this:

 

SELECT * FROM customers
INNER JOIN order_detail ON customers.id = order_detail.customer_id
ORDER BY orderid DESC

 

Not knowing your DB structure, that is only an example of how it should look like

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.