php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.07.2004, 20:46  
Gast
 
Beiträge: n/a
Standard Abfrage über 3 Tabellen

Hallo Leute,

habe ein kleines Problem bei der Abfrage über drei Tabellen. Hoffe ich kann das Problem einigermaßen darstellen.

Drei Tabellen:

Kategorie:
id
kategorie

Unterkategorie:
id
id_kategorie
unterkategorie

Beschreibung:
id
id_kategorie
artikelnummer
usw.

Ich versuche jetzt mittels zwei while schleifen zwei Tabellen auszugeben. Die erste Tabelle soll die Überschrift mit der ersten while schleife soll mittels übergebener id die Unterkategorie angeben. Das sieht bei mir so aus:

Code:
$sql = "SELECT * FROM kategorie a JOIN unterkategorie b WHERE a.id=b.id_kategorie AND a.id='$id'";
In dieser Schleife ist die zweite While Schleife die die passenden Datensätze ausgeben soll. Dies sieht so bei mir aus:

Code:
$query = "SELECT  DISTINCT * FROM kategorie a JOIN unterkategorie b JOIN beschreibung c WHERE a.id = b.id_kategorie AND b.id_kategorie = c.id_kategorie AND a.id='$id'"
Das Problem ist jetzt das ich zwar alle Unterkategorien richtig dargestellt bekomme, sich aber in jeder Tabelle die gleichen Daten befinden. Der Code sieht komplett so aus:


Code:
$sql = "SELECT * FROM kategorie a JOIN unterkategorie b WHERE a.id=b.id_kategorie AND a.id='$id'";
$results = mysql_query($sql);
while ($line = mysql_fetch_array($results)) { 
?>
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="9%">Kategorie:</td>
    <td width="91%"><span class="Stil1">
      <?=$line[unterkategorie]?>
    </span></td>
  </tr>
</table>


<table width="100%"  border="0" cellpadding="1" cellspacing="0" bgcolor="#000000">
  <tr>
    <td><table width="100%"  border="0" cellpadding="1" cellspacing="1" >
  <tr bgcolor="#6699FF">
    <td width="8%"><div align="center">Artikel

    No.</div></td>
    <td width="8%"><div align="center">SVB

    No.</div></td>
    <td width="9%"><div align="center">Eingangs

    Datum </div></td>
    <td width="15%"><div align="center">Absender</div></td>
    <td width="15%"><div align="center">Beschreibung</div></td>
    <td width="8%"><div align="center">Running

    No. </div></td>
    <td width="6%"><div align="center">Gewicht</div></td>
    <td width="5%"><div align="center">Menge</div></td>
    <td width="8%"><div align="center">Versand

    Datum</div></td>
    <td width="13%"><div align="center">Versand

    mit</div></td>
  </tr>
<?PHP 
include ("db.php");
$query = "SELECT  DISTINCT * FROM kategorie a JOIN unterkategorie b JOIN beschreibung c WHERE a.id = b.id_kategorie AND b.id_kategorie = c.id_kategorie AND a.id='$id'"; 
$result = mysql_query($query);
while ($line = mysql_fetch_array($result)) { 
?>

<tr bgcolor="#FFFFFF">
  <td><div align="center">
        <?=$line[artikel]?>
    </div></td>
    <td><div align="center">
    </div></td>
    <td></td>
    <td bgcolor="#FFFFFF"></td>
    <td><?=$line[bezeichnung]?></td>
    <td bgcolor="#FFFFFF"></td>
    <td class="uber"></td>
    <td class="uber"></td>
    <td class="uber"></td>
    <td class="uber"></td>
</tr>
 
<?PHP
}
?>
 
</table>
  </tr>
</table>
<?PHP
}
?>
<?PHP
Die Datenbank sieht so aus, dass die Ã*d_kategorie der Beschreibung und der Kategorie die gleichen Zaheln haben um den Datensatz zuzuordnen. Ich hoffe mir kann jemand bei meinem Problem weiterhelfen. Danke im voraus.

Gruß
Bernhard
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.07.2004, 20:56  
Gast
 
Beiträge: n/a
Standard

Nur mal so.....

was sollen eigentlich die

Zitat:
$sql = "SELECT * FROM kategorie a JOIN unterkategorie b WHERE a.id=b.id_kategorie AND a.id='$id'";
JOIN's in deinen Abfragen? Kenn ich da ne Syntax noch nicht? Die Verknüpfungen machst du doch über die Where's ? *verwundert schaut*
 
Alt 31.07.2004, 21:07  
Gast
 
Beiträge: n/a
Standard

so, fangen wir mal an

1. das include("db.php"); gibt das keinen fehler? weil das wird ja jedes mal in der while schleife included. Tip: oben hin

2. du überschreibst irgendwie $line in der inneren while schleife
 
Alt 31.07.2004, 22:34  
Gast
 
Beiträge: n/a
Standard

Vielen Dank für Eure Antworten. Ich weiß ja das ich keine PHP Leuchte bin, aber die Syntax für die JOIN Abfrage habe ich hier aus dem Forum. Guckst Du hier:

http://www.phpfriend.de/forum/viewto...984&highlight=

Ich habe mir jetzt Eure Ratschläge mal angesehen und soweit umgebaut. Leider mit dem gleichen Ergebnis. Die Unterkategorien klappen problemlos, aber alle datensätze in jeder Tabelle. Vielleicht habr Ihr ja noch eine Idee:

Die Syntax sieht jetzt so aus:

PHP-Code:
<?PHP 
include ("db.php");
$query1 "SELECT kategorie FROM kategorie where id='$id'";
$result1 mysql_query($query1);
$line2 mysql_fetch_array($result1);
?>
<table width="100%"  border="0" cellspacing="1" cellpadding="0" bgcolor="#000000">
  <tr>
    <td>
    <table width="100%"  border="0" cellspacing="5" cellpadding="5" bgcolor="#FFFFFF">
  <tr>
    <td width="76%">

[b]SVB Service GbR

        [/b]Matrosengang

        26723 Emden

        Tel: (04921) 20128

        Fax: (04921) 32803

        [url="http://www.van-brethorst.de"]http://www.van-brethorst.de[/url]</p></td>
    <td width="24%"><div align="center">[url="uebersicht.php"][img]../logo.jpg[/img][/url]</div></td>
  </tr>
</table>
</td>
  </tr>
</table>
<div align="center">[b]

  <span class="Stil1">Produktliste SVB Service
  [ <?=$line2[kategorie]?> ]

  

  </span>[/b]</div>
<?PHP 
$sql 
"SELECT * FROM kategorie, unterkategorie WHERE kategorie.id=unterkategorie.id_kategorie AND kategorie.id='$id'";
$results mysql_query($sql);
while (
$line1 mysql_fetch_array($results)) { 
?>
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="9%">Kategorie:</td>
    <td width="91%">[b]<span class="Stil1">
      <?=$line1[unterkategorie]?>
    </span>[/b]</td>
  </tr>
</table>


<table width="100%"  border="0" cellpadding="1" cellspacing="0" bgcolor="#000000">
  <tr>
    <td><table width="100%"  border="0" cellpadding="1" cellspacing="1" >
  <tr bgcolor="#6699FF">
    <td width="8%"><div align="center">[b]Artikel

    No.[/b]</div></td>
    <td width="8%"><div align="center">[b]SVB

    No.[/b]</div></td>
    <td width="9%"><div align="center">[b]Eingangs

    Datum [/b]</div></td>
    <td width="15%"><div align="center">[b]Absender[/b]</div></td>
    <td width="15%"><div align="center">[b]Beschreibung[/b]</div></td>
    <td width="8%"><div align="center">[b]Running

    No. [/b]</div></td>
    <td width="6%"><div align="center">[b]Gewicht[/b]</div></td>
    <td width="5%"><div align="center">[b]Menge[/b]</div></td>
    <td width="8%"><div align="center">[b]Versand

    Datum[/b]</div></td>
    <td width="13%"><div align="center">[b]Versand

    mit[/b]</div></td>
  </tr>
<?PHP 

$query 
"SELECT  * FROM kategorie, unterkategorie, beschreibung WHERE kategorie.id=unterkategorie.id_kategorie AND unterkategorie.id_kategorie = beschreibung.id_kategorie AND kategorie.id='$id'"
$result mysql_query($query);
while (
$line mysql_fetch_array($result)) { 
?>

<tr bgcolor="#FFFFFF">
  <td><div align="center">
        <?=$line[artikel]?>
    </div></td>
    <td><div align="center">
    </div></td>
    <td></td>
    <td bgcolor="#FFFFFF"></td>
    <td><?=$line[bezeichnung]?></td>
    <td bgcolor="#FFFFFF"></td>
    <td class="uber"></td>
    <td class="uber"></td>
    <td class="uber"></td>
    <td class="uber"></td>
</tr>
 
<?PHP
}
?>
 
</table>
  </tr>
</table>
<?PHP
}
?>
<?PHP
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
abfrage auf gleiche Spalten aus zwei Tabellen maeck Datenbanken 13 08.07.2008 10:09
Abfrage mehrere Tabellen SteiniKeule Datenbanken 14 18.04.2008 19:57
abfrage über mehrere tabellen mit einer bedingung DarkThunder PHP Tipps 2007 6 15.04.2007 17:13
Abfrage über 3 Tabellen madSoul Datenbanken 5 26.06.2006 12:25
SQL ABfrage über mehrere Tabellen Madden Datenbanken 17 09.05.2006 21:19
Abfrage mehrerer Tabellen per PHP (Code vereinfachen) PHP Tipps 2007 4 18.12.2005 12:34
[Erledigt] abfrage mehrere tabellen PHP Tipps 2005-2 3 31.10.2005 21:57
Abfrage aller Tabellen über Schleife PHP Tipps 2005-2 7 22.10.2005 12:16
problem bei ausgabe einer abfrage aus 2 Tabellen Lia PHP Tipps 2005-2 2 28.07.2005 17:30
Abfrage aus 1 und sp�ter 3 Tabellen Datenbanken 5 22.07.2005 15:07
Problem 2 - komplexere Abfrage aus drei Tabellen Datenbanken 0 15.07.2005 13:59
Abfrage über 3 Tabellen Datenbanken 3 20.09.2004 08:08
Abfrage zweier Tabellen funzt net richtig Datenbanken 1 17.09.2004 12:53
2 Tabellen 1 Abfrage nilsfeld Datenbanken 6 11.08.2004 11:18
SQL Abfrage aus mehreren Tabellen PHP Tipps 2004 7 26.07.2004 16:56

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
abfrage 3 gleiche tabellen php, $sql = \select * from `tabelle in einem div anzeigen, kategorien php

Alle Zeitangaben in WEZ +1. Es ist jetzt 11:35 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.