Einzelnen Beitrag anzeigen
  #1  
Alt 17.01.2010, 15:16:54
Gileeser Gileeser ist offline
Anfänger
 
Registriert seit: Jan 2010
Alter: 14
Beiträge: 10
Eine Tabelle mit 10 IDs verweist auf eine Tabelle

Guten Tag!

Ich habe eine MySQL-Tabelle 'testen', die stellt bis zu 10 IDs wie 'ID_besch1', 'ID_besch2' .... 'ID_besch10'
zu entsprechenden Bilder aus, also 10 Spalten, welche die gewünschte Bildnummer von einer Auswahl aus ca. 100 Bildern enthält.
Der Text zu den Bildern steht in der Tabelle 'beschbg' mit 2 Spalten: 'Idtext' und 'btext'.

Die Bilder selbst spielen bei dieser Betrachtung keine Rolle,
diese werden über eine Id mit <img> von Smarty angezeigt.

Die Tabelle 'testen' hat noch mehrere Spalten wie 'name' ... und noch 2 Ids zu den Tabellen 'plz' und 'ort.
'plz' Spalten: Idpost und PLZ, 'ort' Spalten: IdOrt und Ort.

Gesucht wird der Text von 'btext', bis zu 10 Texte in der Reihenfolge der IDS des Datensatzes in 'testen'.

Tabelle 'testen' Spaltenauszug
Code:
ID_besch1 	ID_besch2 	ID_besch3	.....	ID_besch10
3		7		34			57
2		1	         9			 6
Beschreibung zum Bild
Code:
Idtext		btext
1		Haus.....
2		Garten ...
3		Ziegel ....
.......
99		Hecke.....
Hier kommen die Daten her:
PHP-Code:
 if($rows>0)
    {     
$p = array();
        
$table = array();
         while(
$row mysql_fetch_array($result))
.............
        
$tpl->assign"tab",$table);
        
$tpl->display("ausg.tpl");
//Ende 
Abfragebeispiel:
$query = "SELECT * FROM testen
LEFT JOIN plz ON testen.ID_PLZ = plz.Idpost
LEFT JOIN ort ON testen.ID_Ort = ort.IdOrt
LEFT JOIN beschbg ON testen.ID_besch3 = beschbg.Idtext /* funkzuniert mit Zahl 1 bis 10 */
LEFT JOIN beschbg ON testen.ID_besch7 = beschbg.Idtext /* Der 2. Eintrag erzeugt einen DB-Fehler Query was empty*/
WHERE plz.PLZ $pp
ORDER by plz.PLZ
LIMIT 30";
return $query;

Die Abfrage funktioniert aber nur mit einer 'ID_besch1', gleich welche Ziffer von 10.
Ich habe sehr v i e l gelesen, gesucht und natürlich getestet, aber alles ohne Erfolgt.
Sicherlicht weiß irgend Jemand den Weg wie es gebaut werden kann!

Vielen Dank für Eure Hilfe
Kuddel
Mit Zitat antworten