Gallery Comments Block

Begonnen von asiastyle, 04 November 2003, 12:45:10

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

asiastyle

Hallo Zusammen

Gibt es bereits einen Block, dass die letzten 10 "Gallery comments" mit dem zugehörigen Link dazu anzeigt? Oder weiss einer wie ich das Codieren muss?

gruss

asiastyle

mm..  keiner weiss was ich da falsch codiert habe?

global $user, $prefix;

        include 'admin/modules/gallery/config.php';

        $pic = mysql_fetch_array(mysql_query("SELECT * FROM $prefix"._gallery_comments." AS o $prefix"._gallery_pictures." AS p LEFT JOIN $prefix"._gallery_categories." AS c where o.pid=p.pid order by o.cid desc"));

        $pic[description] = htmlentities($pic[description]);

        if (file_exists("$gallerypath/$pic[galloc]/$pic[img]"))
                $content = "<center><a href=\"$baseurl&do=showpic&pid=$pic[pid]\"><img src=\"$gallerypath/$pic[galloc]/$pic[img]\" width=\"120\" border=\"0\" alt=\"$pic[description]\"><br><font size=\"1\">$pic[name]</font></a></center>";
        else
                $content = "<center><a href=\"$baseurl&do=showpic&pid=$pic[pid]\"><img src=\"$gallerypath/$pic[galloc]/$pic[img]\" width=\"120\" border=\"0\" alt=\"$pic[description]\"><br><font size=\"1\">$pic[name]</font></a></center>";

jubilee

Hallo !
der Select für die Datenbank wäre :
 
ZitatSELECT * FROM ".$prefix."_gallery_comments AS o, ".$prefix."_gallery_pictures AS p, ".$prefix."_gallery_categories AS c where o.pid=p.pid AND p.gid=c.gallid order by o.cid desc LIMIT 10
So sollte der SELECT klappen.
Damit solltest Du alle werte haben, um den Block zu basteln.
MfG
jubilee

asiastyle

hee.. Super! Es klappt!!!!
Danke SiteAdmin!!!
Ach ja noch.. wie kann ich den "Kommentarautor" zu den zugehörigen Bild aufrufen und anzeigen?
Danke noch mals!

jubilee

Schön das es funktioniert.
Der Kommentarautor steht in der comments-Tabelle. Aus der hast du ja schon alle Werte die Du brauchst, ausgelesen.
In der Tabellenspalte   name findest Du den Namen
des Autors. Da in der Gallery (je nach einstelung) auch Anonyme Kommentare schreiben dürfen, gibt es in der comments Tabelle noch das Feld   member. Wenn das auf 1 steht, ist es auch ein User, der den Kommentar geschrieben hat.
Jetzt machst du eine Auswertung on member=1 ist und dann kannst Du den Wert aus name in einen Link packen--->
Jetzt kannst Du einen link basteln nach
 
Zitat<a href=\"modules?name=Your_Account&op=userinfo&uname=HierDerName\">UserInfo </a>

MfG
jubilee


[Editiert am 5/11/2003 von SiteAdmin jubilee]

[Editiert am 5/11/2003 von SiteAdmin jubilee]

asiastyle

mm.. Es zeigt immer den Bildname an und nicht den Autorname vom Bild. Was habe ich falsch codiert!?

if (file_exists("$gallerypath/$pic[galloc]/$pic[img]"))
                $content = "<center><a href=\"$baseurl&do=showpic&pid=$pic[pid]\"><img src=\"$gallerypath/$pic[galloc]/$pic[img]\" width=\"120\" border=\"0\" alt=\"$pic[description]\"></a><br><a href=\"modules?name=Your_Account&op=userinfo&uname=$pic[name]\">$pic[name]</a></center>";


jubilee

tja, gerade gesehen.
In der Tabelle gallery_pictures gibt es auch ein Feld mit der Bezeichnung   name
Daher wohl das Problem ....
Dann musst Du die Datenfelder mit ihrem alias ansprechen/abfragen
==  anstatt $pic[name] --> $pic[o.name]
Musst Du mal checken, ob das so geht ... ich kanns im moment nicht
ausprobieren.

MfG
jubilee

[Editiert am 5/11/2003 von SiteAdmin jubilee]

asiastyle

das habe ich auch schon bereits probiert und bekam den fehlermeldung:

Parse error: parse error, expecting `']'' in ....

mm..???

jubilee

Hmmmm ....
Mal so versuchen :
$pic['o.name']
Mit einfachen Hochkommata.....
MfG
jubilee

asiastyle

auch das habe ich bereits versuch und es kam die Fehlermeldung:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in  ...

grrr..  es kann doch nicht so kompliziert sein. mm..

jubilee

Hmmm ....
Dann versuch den numerischen Index
( pic['0'], pic['1'] usw.. usf..)
Musst Du halt die Datenfelder in den Tabellen zählen und die Reihenfolge des Auslesens.
Das muss allemal gehen ....
Oder Du machst ein   list() in Verbindung mit dem select um die Werte an neue Variablenbezeichnungen zu geben.
MfG
jubiee

asiastyle

eine andere Frage SiteAdmin:
Ich möchte gern das die letzten 3 Bildkommentare anzeigt. Im Code versuchte ich mit while schlaufe:

global $user, $prefix;

        include 'admin/modules/gallery/config.php';

        $pic = sql_query("SELECT * FROM ".$prefix."_gallery_comments AS o, ".$prefix."_gallery_pictures AS p, ".$prefix."_gallery_categories AS c where o.pid=p.pid AND p.gid=c.gallid order by o.cid desc LIMIT 0,3", $dbi);
        $pic[description] = htmlentities($pic[description]);

       
$content  =  "<table width=\"100%\" border=\"0\">";

while(list($name) = sql_fetch_row($pic, $dbi)) {
if ($name != "Anonymous") {

$content  .= "  <tr valign=\"top\"> ";
$content  .= "    <td><a href=\"$baseurl&do=showpic&pid=$pic[pid]\"><img src=\"$gallerypath/$pic[galloc]/$pic[img]\" width=\"50\" border=\"0\" alt=\"$pic[description]\"></a></td>";
$content  .= "    <td>$pic[date]</td>";
$content  .= "  </tr>";

}
}
$content  .= "</table>";


Doch es kam zu dieser Error Meldung:

Warning: Supplied argument is not a valid MySQL result resource in ....

An was liegt es???