login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Meerdere tabellen (Opgelost)

Offline mariosss - 19/05/2009 10:22 (laatste wijziging 19/05/2009 10:23)
Avatar van mariosssNieuw lid Hallo,

Ik wil uit meerdere tabellen gegevens halen, maar als ik dit doe met de volgende regel dan krijg ik deze dubbel terwijl de velden totaal verschillende namen hebben:
  1. $res = mysql_query("SELECT * FROM orders,orders_products");


wie kan me helpen?

11 antwoorden

Gesponsorde links
Offline Ontani - 19/05/2009 10:26
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
http://www.site...ySQL/Joins
Offline mariosss - 19/05/2009 10:48 (laatste wijziging 19/05/2009 10:48)
Avatar van mariosss Nieuw lid ik heb alles gelezen, maar ik heb een hele waslijst als ik het zo moet doen. gaat het niet gewono anders?


  1. <?php
  2.  
  3. mysql_connect('localhost','....','....');
  4.  
  5. $res = mysql_query("SELECT * FROM orders,orders_products");
  6.  
  7.  
  8.  
  9. while ($obj = mysql_fetch_object($res)) { ?>
  10.  
  11.  
  12. <table border="1" width="4000">
  13.  
  14.  
  15. <tr>
  16. <td bgcolor="#efefef" width="15"><?echo $obj->orders_id."";?></td>
  17. <td bgcolor="#efefef" width="200"><?echo $obj->customers_name."<br />"; ?></td>
  18. <td bgcolor="#efefef"><?echo $obj->customers_company."<br />"; ?></td>
  19. <td bgcolor="#efefef"><?echo $obj->customers_street_address."<br />"; ?></td>
  20. <td bgcolor="#efefef"><?echo $obj->customers_city."<br />"; ?></td>
  21. <td bgcolor="#efefef"><?echo $obj->customers_postcode."<br />"; ?></td>
  22. <td bgcolor="#efefef"><?echo $obj->customers_state."<br />"; ?></td>
  23. <td bgcolor="#efefef"><?echo $obj->customers_country."<br />"; ?></td>
  24. <td bgcolor="#efefef"><?echo $obj->customers_telephone."<br />"; ?></td>
  25. <td bgcolor="#efefef"><?echo $obj->customers_email_address."<br />"; ?></td>
  26.  
  27.  
  28. <td bgcolor="#ffffee"><?echo $obj->delivery_name."<br />"; ?></td>
  29. <td bgcolor="#ffffee"><?echo $obj->delivery_company."<br />"; ?></td>
  30. <td bgcolor="#ffffee"><?echo $obj->delivery_street_address."<br />"; ?></td>
  31. <td bgcolor="#ffffee"><?echo $obj->delivery_city."<br />"; ?></td>
  32. <td bgcolor="#ffffee"><?echo $obj->delivery_postcode."<br />"; ?></td>
  33. <td bgcolor="#ffffee"><?echo $obj->delivery_state."<br />"; ?></td>
  34. <td bgcolor="#ffffee"><?echo $obj->delivery_country."<br />"; ?></td>
  35.  
  36.  
  37. <td bgcolor="#ffffvv"><?echo $obj->billing_name."<br />"; ?></td>
  38. <td bgcolor="#ffffvv"><?echo $obj->billing_company."<br />"; ?></td>
  39. <td bgcolor="#ffffvv"><?echo $obj->billing_street_address."<br />"; ?></td>
  40. <td bgcolor="#ffffvv"><?echo $obj->billing_city."<br />"; ?></td>
  41. <td bgcolor="#ffffvv"><?echo $obj->billing_postcode."<br />"; ?></td>
  42. <td bgcolor="#ffffvv"><?echo $obj->billing_state."<br />"; ?></td>
  43. <td bgcolor="#ffffvv"><?echo $obj->billing_country."<br />"; ?></td>
  44.  
  45. <td><font size="3"><?echo $obj->payment_method."<br />"; ?></td>
  46. <td><?echo $obj->last_modified."<br />"; ?></td>
  47. <td><font size="1"><?echo $obj->date_purchased."<br />"; ?></td>
  48. <td><?echo $obj->orders_status."<br />"; ?></td>
  49. <td><?echo $obj->orders_date_finished."<br />"; ?></td>
  50. <td><?echo $obj->products_name."<br />"; ?></td>
  51. <td><?echo $obj->products_quantity."<br />"; ?></td>
  52. </tr>
  53. <?
  54. }
  55. ?>
Offline Ultimatum - 19/05/2009 11:00
Avatar van Ultimatum PHP expert Dat valt best mee, het enige wat je moet doen is je query aanpassen. En als je het op deze manier wilt doen moet je nog met een where de relatie tussen beiden tabellen aangeven.
Offline mariosss - 19/05/2009 11:06
Avatar van mariosss Nieuw lid hoe bedoel je? sorry ben nog niet zo heel erg bekend in php.


hoe ziet de code er dan uit ?
Offline Ultimatum - 19/05/2009 11:32
Avatar van Ultimatum PHP expert Kan je de structuur van beide tabellen eens laten zien?
Offline mariosss - 19/05/2009 11:48 (laatste wijziging 19/05/2009 11:50)
Avatar van mariosss Nieuw lid table.orders
  1. orders_id
  2. customers_id
  3. customers_name
  4. customers_company
  5. customers_street_address
  6. customers_suburb
  7. customers_city
  8. customers_postcode
  9. customers_state
  10. customers_country
  11. customers_telephone
  12. customers_email_address
  13. customers_address_format_id
  14. delivery_name varchar
  15. delivery_company varchar
  16. delivery_street_address
  17. delivery_suburb varchar
  18. delivery_city varchar
  19. delivery_postcode varchar
  20. delivery_state varchar
  21. delivery_country varchar
  22. delivery_address_format_id
  23. billing_name varchar
  24. billing_company varchar
  25. billing_street_address
  26. billing_suburb varchar
  27. billing_city varchar
  28. billing_postcode varchar
  29. billing_state varchar
  30. billing_country varchar
  31. billing_address_format_id
  32. payment_method varchar
  33. cc_type
  34. cc_owner
  35. cc_number
  36. cc_expires
  37. last_modified
  38. date_purchased
  39. orders_status
  40. orders_date_finished
  41. currency
  42. currency_value



table.orders_products
  1. orders_products_id
  2. orders_id
  3. products_id
  4. products_model
  5. products_name
  6. products_price
  7. final_price
  8. products_tax
  9. products_quantity



Dus in principe wil ik dus dat de gegevens uit de 2e tabel (orders_products) ook word weergegeven op het scherm. Hieronder hoe ik deze laat weergeven.


  1. <table border="1" width="4000">
  2.  
  3.  
  4. <tr>
  5. <td bgcolor="#efefef" width="15"><?echo $obj->orders_id."";?></td>
  6. <td bgcolor="#efefef" width="200"><?echo $obj->customers_name."<br />"; ?></td>
  7. <td bgcolor="#efefef" width="100"><?echo $obj->customers_company."<br />"; ?></td>
  8. <td bgcolor="#efefef" width="150"><?echo $obj->customers_street_address."<br />"; ?></td>
  9. <td bgcolor="#efefef" width="100"><?echo $obj->customers_city."<br />"; ?></td>
  10. <td bgcolor="#efefef" width="100"><?echo $obj->customers_postcode."<br />"; ?></td>
  11. <td bgcolor="#efefef" width="100"><?echo $obj->customers_state."<br />"; ?></td>
  12. <td bgcolor="#efefef" width="100"><?echo $obj->customers_country."<br />"; ?></td>
  13. <td bgcolor="#efefef" width="100"><?echo $obj->customers_telephone."<br />"; ?></td>
  14. <td bgcolor="#efefef" width="100"><?echo $obj->customers_email_address."<br />"; ?></td>
  15.  
  16.  
  17. <td bgcolor="#ffffee" width="100"><?echo $obj->delivery_name."<br />"; ?></td>
  18. <td bgcolor="#ffffee" width="100"><?echo $obj->delivery_company."<br />"; ?></td>
  19. <td bgcolor="#ffffee" width="150"><?echo $obj->delivery_street_address."<br />"; ?></td>
  20. <td bgcolor="#ffffee" width="100"><?echo $obj->delivery_city."<br />"; ?></td>
  21. <td bgcolor="#ffffee" width="100"><?echo $obj->delivery_postcode."<br />"; ?></td>
  22. <td bgcolor="#ffffee" width="100"><?echo $obj->delivery_state."<br />"; ?></td>
  23. <td bgcolor="#ffffee" width="100"><?echo $obj->delivery_country."<br />"; ?></td>
  24.  
  25.  
  26. <td bgcolor="#ffffvv" width="100"><?echo $obj->billing_name."<br />"; ?></td>
  27. <td bgcolor="#ffffvv" width="100"><?echo $obj->billing_company."<br />"; ?></td>
  28. <td bgcolor="#ffffvv" width="150"><?echo $obj->billing_street_address."<br />"; ?></td>
  29. <td bgcolor="#ffffvv" width="100"><?echo $obj->billing_city."<br />"; ?></td>
  30. <td bgcolor="#ffffvv" width="100"><?echo $obj->billing_postcode."<br />"; ?></td>
  31. <td bgcolor="#ffffvv" width="100"><?echo $obj->billing_state."<br />"; ?></td>
  32. <td bgcolor="#ffffvv" width="100"><?echo $obj->billing_country."<br />"; ?></td>
  33.  
  34. <td bgcolor="#FF0000" width="100"><font size="3"><?echo $obj->payment_method."<br />"; ?></td>
  35. <td bgcolor="#FF0000" width="100"><font size="1"><?echo $obj->date_purchased."<br />"; ?></td>
  36. <td bgcolor="#FF0000" width="200"><font size="1"><?echo $obj->products_name."<br />"; ?></td>
  37. <td bgcolor="#FF0000" width="100"><?echo $obj->products_quantity."<br />"; ?></td>
  38. </tr>
  39. </table>
Offline Ultimatum - 19/05/2009 12:20 (laatste wijziging 19/05/2009 12:20)
Avatar van Ultimatum PHP expert
  1. SELECT * FROM orders
  2. INNER JOIN orders_products
  3. ON (orders.orders_id = orders_products.orders_id)


Dit zou moeten werken, zorg ervoor dat or die(mysql_error()); ook achter je query staat voor debuggen.
Offline mariosss - 19/05/2009 12:23 (laatste wijziging 19/05/2009 12:24)
Avatar van mariosss Nieuw lid werkt helaas niet 


heb het dus zo :

  1. <?
  2. $res = mysql_query("SELECT * FROM orders INNER JOIN order_products ON (orders.orders_id = orders_products.orders_id)");
  3.  
  4. while ($obj = mysql_fetch_object($res)) { ?>
  5.  
  6.  
  7. <table border="1" width="4000">
  8.  
  9.  
  10. <tr>
  11. <td bgcolor="#efefef" width="15"><?echo $obj->orders_id."";?></td>
  12. <td bgcolor="#efefef" width="200"><?echo $obj->customers_name."<br />"; ?></td>
  13. <td bgcolor="#efefef" width="100"><?echo $obj->customers_company."<br />"; ?></td>
  14. <td bgcolor="#efefef" width="150"><?echo $obj->customers_street_address."<br />"; ?></td>
  15. <td bgcolor="#efefef" width="100"><?echo $obj->customers_city."<br />"; ?></td>
  16. <td bgcolor="#efefef" width="100"><?echo $obj->customers_postcode."<br />"; ?></td>
  17. <td bgcolor="#efefef" width="100"><?echo $obj->customers_state."<br />"; ?></td>
  18.  
  19. ...
Offline Ultimatum - 19/05/2009 12:28 (laatste wijziging 19/05/2009 12:28)
Avatar van Ultimatum PHP expert Wat werkt niet, krijg je een foutmelding? En zoals ik al zei, gebruik or die(mysql_error()) achter je query.
Offline mariosss - 19/05/2009 12:33
Avatar van mariosss Nieuw lid ja juist hij doet het , hij gaf de melding dat een tabel niet bestond, deze aangepast, en hij werkt, nu krijg ik dus ook niet alles dubbel. Dankjewel !!
Offline Ultimatum - 19/05/2009 13:29
Avatar van Ultimatum PHP expert Geen dank, klik even op de button oplossing om topic te sluiten.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.268s