Standard-Artikelliste (lastmodified) + Datum

Gesperrt
OAA
Beiträge: 134
Registriert: Sa 15. Nov 2003, 15:54
Wohnort: Regensburg
Kontaktdaten:

Standard-Artikelliste (lastmodified) + Datum

Beitrag von OAA » Fr 15. Okt 2004, 17:48

Hallo,

ich verwende die Standard-Artikelliste mit der Sortierung: "Lastmodified".
Das heisst die zuletztgeänderte Nachricht steht oben.

Der Output:

Code: Alles auswählen

<?php

// second db class instance
$db2 = new DB_Contenido;

// selected category
$selcat = "CMS_VALUE[0]";

 if($selcat!="0" && $selcat!=""){

// select all articles in category widthout start article
$query = "SELECT ARTLANG.idart, ARTLANG.idartlang FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".
          $cfg["tab"]["art_lang"]." AS ARTLANG ".
         "WHERE CATART.idcat = '$selcat' AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' AND ".
         "ARTLANG.online = '1' ORDER BY ARTLANG.lastmodified DESC";

// execute query
$db->query($query);

unset($articleID);
unset($linkID);

// get id's of sub articles
while ($db->next_record()) {
  $articleID[] = $db->f("idartlang");
  $linkID[] = $db->f("idart");
} // end while

// loop through subarticles

echo '
<table width="665" border="0" cellspacing="0" cellpadding="0">
<tr><td height="30" colspan="2" ></td></tr>
<tr><td height="21" width="22" style="border: 0px; border-top:1px; border-bottom:1px; border-color: #737BB5; border-style: solid; background-color: #FFFFFF"><img src="images/wuerfel.gif" width="22" height="21" border="0"></td>
<td width="550" style="border: 1px; border-left:0px; border-color: #737BB5; border-style: dashed; background-color: #FFFFFF; padding-left:10px" class="punkte">CMS_VALUE[2]</td></tr>
';

if (is_array($articleID)) {

    foreach ($articleID as $key => $value) {

          // select all CMS variables of the article
          $sql = "SELECT * FROM ".$cfg["tab"]["content"]." WHERE idartlang = '$value' AND idtype = '1' AND typeid = '1'";
          $db->query($sql);
          $db->next_record();
          $head = $db->f("value");

          if ( strlen($head) > "CMS_VALUE[3]") {
            $head = substr($head, 0, "CMS_VALUE[3]");
            $head .= '..';
          }

          // link
          $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=$linkID[$key]&m=$m&s=$s");

          echo '<tr><td colspan="2" class="text" height="22" style="border: 1px; border-top:0px; border-color: #737BB5; border-style: dashed; background-color: #FFFFFF; padding-left:10px"><a href="'.$link.'">'.urldecode($db->f("value")).'</a></td></tr>';

    } // end while



          unset($headline);
        unset($text);
        
    } // end foreach
    
} // end if (is_array)

echo '</table><br>';


?>

für einen Kollegen (Dozent) habe ich es wie folgt angepasst:
http://www-cgi.uni-regensburg.de/Fakult ... ontent.php

Er bietet pro Semester 3-4 Veranstaltungen an.
Der Veranstaltungsname ist die Kopfzeile in der Artikelliste.

Jetzt soll jedoch das Datum der letzten Aktualisierung vor dem Titel stehen.

z.B.:

18.10.04: Wirtschaftsinformatik I
14.10.04: Informatik I

Was muss in den Code oben noch rein?
ist ja wahrscheinlich nicht schwer oder?

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

Beitrag von emergence » Mi 20. Okt 2004, 10:04

bei sql query muss dann auf alle fälle das feld last modified mit rausselektiert werden.

Code: Alles auswählen

$query = "SELECT ARTLANG.idart, ARTLANG.idartlang, ARTLANG.lastmodified FROM ".$cfg["tab"]["cat_art"]." AS CATART, ". 
          $cfg["tab"]["art_lang"]." AS ARTLANG ". 
         "WHERE CATART.idcat = '$selcat' AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' AND ". 
         "ARTLANG.online = '1' ORDER BY ARTLANG.lastmodified DESC";
bei

Code: Alles auswählen

while ($db->next_record()) { 
  $articleID[] = $db->f("idartlang"); 
  $linkID[] = $db->f("idart"); 
} // end while 
ergänzt du einfach etwas wie

Code: Alles auswählen

  $lastchangeID[] = $db->f("lastmodified"); 
und bei

die ausgabe des last modified wertes kanns du unten dann via

Code: Alles auswählen

echo $lastchangeID[$key];
erreichen...

wohlgemerkt, ganz auf die schnell und nicht getestet...
*** make your own tools (wishlist :: thx)

Gesperrt