close× Call Us +49 (1805) 01 29 59

Datalus
Thread Author: mclol
Thread ID: 2552
Thread Info
Es gibt 6 Beiträge zu diesem Thema, und es wurde 1785 mal angesehen.
 Thema drucken
Foto, beste Bewertungen
mclol
Hallo,

ich versuche mich gerade an der abfrage, die mir das foto mit den besten bewertungen aus der galerie anzeigen soll.

ist es richtig dass ich aus der tabelle "ratings" den typ p abfrage und dann einen INNER oder LEFT Join zur fusion_photos mache?
Ich komme da dummerweise etwas ins schwimmen gerade.

lg
 
SC-Ad-Bot
 
emblinux
ja, das ist soweit richtig.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
mclol
huhu,

ich weiß nicht warum aber leider bekomme ich bei diesem Code:

Code


      $result = dbquery(
         "SELECT rating_id, rating_vote FROM ".DB_RATINGS."
         LEFT JOIN ".DB_photos."  ON rating_id=photo_id
         WHERE rating_type='p'"
      );



folgende Fehlermeldung:

Code

Notice: Use of undefined constant DB_photos - assumed 'DB_photos' in /var/www/web0/html/administration/panel_editor.php(128) : eval()'d code on line 6
Table 'usr_web0_1.DB_photos' doesn't exist



Natürlich ist die Tabelle aber vorhanden.

lg
 
emblinux
Auf GROß/kleinschreibung achten.

DB_PHOTOS müsste das lauten.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
mclol
oh manchmal ist es so offensichtlich. Danke dafür.

Nun kommt auch keine Fehlermeldung mehr. Allerdings wird auch im Panel nichts angezeigt. Funktioniert die Abfrage denn so?:

Code

      $result = dbquery(
         "SELECT rating_id, rating_vote FROM ".DB_RATINGS."
         LEFT JOIN ".DB_PHOTOS."  ON rating_id=photo_id
         WHERE rating_type='p'
        ORDER BY rating_vote DESC LIMIT 1"
      );


if (dbrows($result) !=0) {


$album_id = $data['album_id'];
$photo_id = $data['photo_id'];

echo "
<center><a href='".BASEDIR."photogallery.php?photo_id=".$data['photo_id']."' '><img src='".BASEDIR."images/photoalbum/".$data['photo_thumb1']."' border='0'></a></center>

";


 }
 
emblinux
Nein, das ist falsch, die beiden IDs, die du miteinander vergleichst, können so nicht miteinander verglichen werden, da sie nichts miteinander zutun haben.

Ausserdem, wenn du bestimmte Werte aus der Tabelle ermitteln bzw. ausgeben möchstest, solltest du diese auch selectieren.

Versuchs mal wie folgt, ist nicht getestet.

Code

   $result = dbquery(
         "SELECT rating_id, rating_vote, photo_id, album_id FROM ".DB_RATINGS."
         LEFT JOIN ".DB_PHOTOS."  ON rating_item_id=photo_id
         WHERE rating_type='p'
        ORDER BY rating_vote DESC LIMIT 1"
      );


if (dbrows($result) >0)
 {
    $data = dbarray($result);
    $album_id = $data['album_id'];
    $photo_id = $data['photo_id'];

    echo "
<center><a href='".BASEDIR."photogallery.php?photo_id=".$data['photo_id']."' '><img src='".BASEDIR."images/photoalbum/".$data['photo_thumb1']."' border='0'></a></center>";
 }

Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif

www.heiseclan.de/geosig.gif
 
Springe ins Forum:
Heiseclan