Jump to content

PHP (& MySQL) display problems


nickholt1972

Recommended Posts

THE PROBLEM: I'm developing an online shop using PHP and MySQL. I've got products and each product might have different sizes, colours, etc
I have two tables: products and productdetails

When i list these in my shop I want it to say (e.g.)

Product 1:
Colour: white, Size: small
Colour white, Size: large

But what i'm getting is

Product 1:
Colour: white, Size: small

Product 1:
Colour white, Size: large

This is my SQL Query and the PHP to output it:

$result = @mysql_query('SELECT
  products.id, products.productid, products.productname,
  productdetails.id, productdetails.size
  FROM productdetails RIGHT JOIN products ON products.productid = productdetails.productid');

// Display the text of each entry in a table
  while ($row = mysql_fetch_array($result)) {
  echo '<div id="newproduct"><table border="1">'    .
  '<tr><td>' . $row['id'] . '</td><td>' .
  $row['productid']    . '</td><td>' .
  $row['productname']    . '</td></tr>' .
  '<tr><td>' . $row['size']    . '</td></tr></table></div>';
}

I'm pretty sure its not the MySQL query, I've also tried

[i]FROM products, productdetails
WHERE products.productid = productdetails.productid[/i]
but it doesn't solve my problem

I'm sure its very simple, it usually is. Any help would be greatly appreciated.
Thanks,
Nick
Link to comment
Share on other sites

I just built something which grabs details from the database, and each time the supplier is different, I wanted the supplier in a heading

So what I done is something like this

[code]
<?php
//Add on the end of your query
//ORDER BY productname



//then your while loop
while($row = ......){
if($prod_name != $row["product_name"]){
echo $row["product_name"]."<br />\n";
}
$prod_name = $row1["product_name"];
//Continue with your results


}


?>
[/code]
Link to comment
Share on other sites

Maybe this is what you are loo0king for, I had to guess what each field is.
[code]$oldid = "";
echo '<div id="newproduct"><table border="1">';
while ($row = mysql_fetch_array($result)) {
  if ($oldid != $row['productid']) {
      echo '<tr><td>' . $row['id']          . '</td>' .
              '<td>' . $row['productid']  . '</td>' .
          '<td>' . $row['productname'] . '</td>' .
              '</tr>';
          $oldid = $row['productid'];
  }
        '<tr><td>' . $row['size']        . '</td>' .
        '</tr>';
}
echo '</table></div>';[/code]

Ronald  8)
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.