Artikelergänzung

Gesperrt
Simone
Beiträge: 193
Registriert: Fr 9. Sep 2005, 06:39
Kontaktdaten:

Artikelergänzung

Beitrag von Simone » Di 22. Nov 2005, 08:03

Hallo, ich habe aus der letzten Version 4.4.5 die Artikelergänzung übernommen. Sie kommt an das Ende des Standard-Artikels, um aufzuzeigen, wer den Artikel erstellt hat.

Was ich nicht verstehe ist, warum im Code der Autor angefordert wird, aber de facto bei mir modifiedby ausgegeben wird.

INPUT
leer

OUTPUT

Code: Alles auswählen

<?php
$query = "SELECT B.author AS author,
A.created AS created,
C.realname AS realname
FROM
".$cfg["tab"]["art_lang"]." AS A,
".$cfg["tab"]["content"]." AS B,
".$cfg["tab"]["phplib_auth_user_md5"]." AS C
WHERE
A.idart = '$idart' AND
B.idartlang = A.idartlang AND
C.username = B.author
ORDER BY
A.created DESC";

$db->query($query);
$db->next_record();

$author = $db->f("author"); // loginname
$realname = $db->f("realname"); // realname
$created = strtotime($db->f("created"));
$created = date("d.m.Y",$created);

echo " <span class=\"small\">Dieser Artikel wurde zuletzt am $created von $realname bearbeitet.</span>";
?>
Kann einer der Profis sich das erklären?

Gruß und danke für alle Anregungen,

Simone

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Di 22. Nov 2005, 09:09

wieso erklären ?

wenn möchte jemand anstelle des realnames den login namen ausgeben möchte, kann er sich dann einfach der variable $author bedienen...
wenn du sie nicht haben möchtest, wirf sie raus aus dem code...
*** make your own tools (wishlist :: thx)

Simone
Beiträge: 193
Registriert: Fr 9. Sep 2005, 06:39
Kontaktdaten:

Beitrag von Simone » Di 22. Nov 2005, 09:47

Sorry emergence, ich habe mich unklar ausgedrückt.

Ich dachte, der realname ist nur der Name des Benutzernamens (siehe Systemadministration, Benutzer einrichten).

Auch wenn ich im echo $author schreibe, kommt nur der modifiedby heraus. Das weiß ich zufällig, weil ich einen Artikel erstellt habe, und ein anderer noch ein Link zugefügt hat. da ist mir das aufgefallen.

Ich dachte author wäre immer der Ersterstellende und modifiedby der Zuletztgeänderte.

Simone

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Di 22. Nov 2005, 09:54

ach so

Code: Alles auswählen

B.author AS author
ersetzen durch

Code: Alles auswählen

A.author AS author
besser ?
*** make your own tools (wishlist :: thx)

Simone
Beiträge: 193
Registriert: Fr 9. Sep 2005, 06:39
Kontaktdaten:

Beitrag von Simone » Di 22. Nov 2005, 11:18

emergence hat geschrieben:
besser ?

Jaaaaaaa!!!

ich habe dann noch das A.created in B.created umgetauscht, weil ich mir dachte, es kann bestimmt nicht zwei As geben.
Hier der vollständige Code, wenn man sagen will, daß XY den Artikel erstellt und AB ihn zuletzt bearbeitet hat.

Code: Alles auswählen

<?php
$query = "SELECT A.author AS author,
B.created AS created,
C.realname AS realname
FROM
".$cfg["tab"]["art_lang"]." AS A,
".$cfg["tab"]["content"]." AS B,
".$cfg["tab"]["phplib_auth_user_md5"]." AS C
WHERE
A.idart = '$idart' AND
B.idartlang = A.idartlang AND
C.username = B.author
ORDER BY
A.created DESC";

$db->query($query);
$db->next_record();

$author = $db->f("author"); // loginname
$realname = $db->f("realname"); // realname
$created = strtotime($db->f("created"));
$created = date("d.m.Y",$created);

echo " <span class="small">Dieser Artikel wurde am $created von $author erstellt und von $realname zuletzt bearbeitet.</span>";
?>
Was hat es mit dem A B C auf sich? Gibt es irgendwo eine Kurzbeschreibung?

Auf jeden Fall danke ich Dir!!!!

Simone :D

Dalamar
Beiträge: 298
Registriert: Di 16. Nov 2004, 15:43
Wohnort: Arnstadt / Thüringen
Kontaktdaten:

Beitrag von Dalamar » Di 22. Nov 2005, 11:28

A, B und C sind in diesem Fall Aliase für DB-Tabellen. Sie dienen gemeinhin dazu, dass man übersichtlicheren SQL-Code schreiben kann und die Ansteuerung der DB-Spalten etwas vereinfacht wird (a.strasse statt adressen.strasse).

Schau einfach mal in die MySQL Documentation (www.mysql.com) unter AS.

Gruss,
Christian
Beruflich: eComradeGroup und Media Atoll
Privat: Fantasybuch.net ;)

Gesperrt