[gelöst] SQL Abfrage erweitern (Inner Join eventuell)
|
|
Catzenjaeger |
Geschrieben am 20. Mai 2016 09:22:02
|
|
Ich habe ein Panel geschrieben wo ich die letzten 10 Figuren darstellen lasse. Das mit den Letzen 10 und darstellen klappt gut. Nun wollte ich das erweitern und auch noch den MANFACTURER anzeigen lassen. Leider ist die Datenbankabfrage bisschen tricky und ich brauche mal jemand er sich da gut auskennt :) Zitat $result = dbquery( "SELECT tb.figure_id, tb.figure_title, tb.figure_manufacturer, tb.figure_datestamp, tb.figure_cat, tbc.figure_cat_id, tbc.figure_cat_access, tbu.user_id, tbu.user_name, tbu.user_status, tbu.user_avatar FROM ".DB_PREFIX."figure_items tb LEFT JOIN ".DB_USERS." tbu ON tb.figure_name=tbu.user_id INNER JOIN ".DB_PREFIX."figure_cats tbc ON tb.figure_cat=tbc.figure_cat_id INNER JOIN ".DB_PREFIX."figure_manufacturers ON tb.figure_manufacturer = tb.figure_manufacturer_id ".(iSUPERADMIN ? "" : "WHERE ".groupaccess('figure_cat_access'))." ORDER BY figure_datestamp DESC LIMIT 0,10"); Darstellung erfolgt so: Zitat echo " <tr><td class='side-small'> <a href='".INFUSIONS."figurelib/figure.php?figure_id=".$data['figure_id']."'>".trimlink($data['figure_title'], 20)."</a> | ".$data['figure_manufacturer_name'].""; } echo "</td> Zur Erklärung: der "figure_manufacturer" wird in der DB DB_PREFIX."figure_items abgelegt. Da wird nur zB 1 oder 2 gespeichert also die ID .... Die eigentlichen Manuafactuer sind in der DB DB_PREFIX."figure_manufacturers als figure_manufacturer_id mediumint(8) unsigned NOT NULL AUTO_INCREMENT, figure_manufacturer_name varchar(100) NOT NULL DEFAULT '', hinterlegt. Nun wollte ich den namen darstellen laseen ... klappt aber nicht Bearbeitet von Catzenjaeger am 21. Mai 2016 15:37:18 |
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
|
Wemi |
Geschrieben am 20. Mai 2016 09:32:29
|
|
Versuche mal: Code Download Code $result = dbquery( "Es geht hier um die Frage, ob die Menschheit ohne Religion besser dastünde. Und ich sagte: ja" Ben Moore
|
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
|
Catzenjaeger |
Geschrieben am 20. Mai 2016 09:38:30
|
|
geil funzt ... vielen lieben Dank :) Zusammengefügt am 20. Mai 2016 um 15:31:24: muss noch einmal kurz was fragen dazu: ich habe das nun noch erweitert und möchte mir das Bild der Fifur als Minibild anzeigen lassen. Soweit steht der code aber das Bild bleibt leer Abfrage: Zitat $result = dbquery( "SELECT tb.figure_id, tb.figure_image, tb.figure_pubdate, tb.figure_title, tb.figure_manufacturer, tb.figure_brand, tb.figure_datestamp, tb.figure_cat, tbc.figure_cat_id, tbc.figure_cat_access, tbu.user_id, tbu.user_name, tbu.user_status, tbu.user_avatar, tbm.figure_manufacturer_name, tbb.figure_brand_name, tbs.figure_scale_name FROM ".DB_PREFIX."figure_items tb LEFT JOIN ".DB_USERS." tbu ON tb.figure_name=tbu.user_id INNER JOIN ".DB_PREFIX."figure_cats tbc ON tb.figure_cat=tbc.figure_cat_id INNER JOIN ".DB_PREFIX."figure_manufacturers tbm ON tbm.figure_manufacturer_id = tb.figure_manufacturer INNER JOIN ".DB_PREFIX."figure_brands tbb ON tbb.figure_brand_id = tb.figure_brand INNER JOIN ".DB_PREFIX."figure_scales tbs ON tbs.figure_scale_id = tb.figure_scale ".(iSUPERADMIN ? "" : "WHERE ".groupaccess('figure_cat_access'))." ORDER BY figure_datestamp DESC LIMIT 0,10"); hier soll das Bild kommen - bleibt aber leer Zitat //echo "<img src='".($data['figure_image'] ? IMAGES_FIGURE.$data['figure_image'] : INFUSIONS.$inf_folder."/images/default.png")."' alt='".trimlink($data['figure_title'],15)."' title='".trimlink($data['figure_title'],15)."' style='border:0px;max-height:100px;max-width:100px' />"; echo "<td class='side-small'><img src='".$data['figure_image']."' style='border:0px;max-height:100px;max-width:100px'></td>"; Das Bild liegt im DB_PREFIX."figure_items als "figure_image" ------------------------------------------- Zusammengefügt am 20. Mai 2016 um 21:18:04: Irgend etwas ist falsch ... im Panel werden keine Bilder angezeigt. weiterhin wird mit klick auf den namen zwar die Figur aufgemacht aber da fehlen die daten und das Bild wurde durch einen Paltzhalter ersetzt. weiss jemand warum? Code Download Code <?php
Catzenjaeger hat folgende Datei angehängt:
Bearbeitet von Catzenjaeger am 20. Mai 2016 19:18:57 |
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
|
Wemi |
Geschrieben am 21. Mai 2016 05:23:14
|
|
Schon in den Seitenquelltext geschaut, ob der Pfad stimmt? Zusammengefügt am 21. Mai 2016 um 07:24:04: Schon in den Seitenquelltext geschaut, ob der Pfad stimmt? Bearbeitet von Wemi am 21. Mai 2016 05:24:04 "Es geht hier um die Frage, ob die Menschheit ohne Religion besser dastünde. Und ich sagte: ja" Ben Moore
|
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
|
Catzenjaeger |
Geschrieben am 21. Mai 2016 11:20:54
|
|
Hmn geht leider nicht. Der Link der auf dem Bild leigen soll geht .. den habe ich abgeändert. Allerdings wird kein Bild angezeigt. echo "<td class='side-small'><a href='".INFUSIONS."figurelib/figure.php?figure_id=".$data['figure_id']."' class=''>\n<img src='".($data['figure_image'] ? IMAGES_FIGURE.$data['figure_image'] : INFUSIONS."figurelib/images/default.png"."' alt='".trimlink($data['figure_title'],100)."' title='".trimlink($data['figure_title'],100)."' style='border:0px;max-height:40px;max-width:40px' /></td>"; ich weiss auch nicht was ich da noch ändern könnte. Ein Pfad wird ja nicht angegeben für das Bild .. das kommt irgednwie aus der DB. Nicht verschweigen möchte ich das dass Panel ausgelagert ist also als eigenständiges Panel und nicht im Ordner "figurelib" liegt. Links usw gehen .. nur das Bild fehlt Zusammengefügt am 21. Mai 2016 um 1548: Ich habs gefunden das hat gefehlt: include INFUSIONS."figurelib/infusion_db.php"; Bearbeitet von Catzenjaeger am 21. Mai 2016 13:34:38 |
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
Springe ins Forum: |