[GastForen Programmierung/Entwicklung PHP und MySQL Tabelle(Auflistung) aus meheren SQL-TAbellen erstellen.

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Tabelle(Auflistung) aus meheren SQL-TAbellen erstellen.

Urs
Beiträge gesamt: 176

7. Jan 2011, 06:27
Beitrag # 1 von 2
Bewertung:
(1652 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen
Ich möchte eine Auflistung (Tabelle) mit Werten aus zwei verschiedenen SQL_Tabellen erstellen. Kann mir jemand weiterhelfen???

In der SQL_Tabelle "Lieferanten" haben ich die Felder ID_Lieferant und Name_Lieferant.
In der SQL_Tabelle Artikel" haben ich die Felder ID_Artikel,Nummer_Artikel,Name_Artikel sowie ID_Lieferant. die ID_Lieferant ist identisch mit derjenigen aus der Tabelle "Lieferanten.

Nun möchte ich eine Auflistung machen mit folgenden Feldern:
Name_Lieferant; Nummer Artikel; Name_Artikel.
Wie kann ich den Bezug vom ID_Lieferant aus der Tabelle Artikel zur Tabelle Lieferanten herstelen, so dass anstelle der ID_Lieferanten der Name_Lieferanten erscheint?

Besten Dank gruss Urs
X

Tabelle(Auflistung) aus meheren SQL-TAbellen erstellen.

crisies
  
Beiträge gesamt: 138

7. Jan 2011, 14:31
Beitrag # 2 von 2
Beitrag ID: #461078
Bewertung:
(1626 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hi urs,

Zwei SQL-Tabellen werden mit sogenannten (INNER, LEFT, RIGHT) JOINS miteinander verbunden oder auch über die WHERE Klausel (FULL JOIN). Hier ein Beispiel mit einem INNER JOIN, welcher nur die Lieferanten zurückliefert, welche auch einen Artikel besitzen. Wenn auch Lieferanten ohne Artikel selektiert werden sollten, müsste ein LEFT JOIN angewendet werden. Das ganze am Beispielcode von Ollli des letzten Beitrages:

Code
<html>  
<head>
<title>JOINS</title>
</head>
<body>
<table>
<tr>
<th>Name Lieferant</th>
<th>Nummer Artikel</th>
<th>Name Artikel</th>
</tr>
<?php
mysql_connect('localhost', '', '');
mysql_select_db('db');

// SQL-Query erzeugen
$sql = "SELECT L.Name_Lieferant, A.Nummer_Artikel, A.Name_Artikel
FROM Lieferanten AS L
INNER JOIN Artikel AS A ON L.ID_Lieferant = A.ID_Lieferant
ORDER BY L.ID_Lieferant";
$result = mysql_query($sql);

while ($row = mysql_fetch_array($result)) {
echo '<td>'.$row['Name_Lieferant'].'</td>';
echo '<td>'.$row['Nummer_Artikel'].'</td>';
echo '<td>'.$row['Name_Artikel'].'</td>';
}
?>
</table>
</body>
</html>


mfg
chris.w.


als Antwort auf: [#461035]