Seite 1 von 1

Artikelliste Probleme mit Datum

Verfasst: Do 12. Mai 2005, 10:01
von bruderbarnabas
Hallo Leute,

benutze die Artikelliste von Agon (jedoch leicht modifiziert).
Siehe untenstehender Code.

Bei der Ausgabe fasst die Artikelliste aber die Artikel die am selben Tag erstellt worden sind zu einem zusammen.
Siehe: http://www.royal-media.com/_relaunch/cm ... 96&blatt=0
z.Bsp beim zweiten Artikel von oben.

Er soll natürlich jeden Artikel einzeln mit dem jeweiligen Datum anzeigen. Wenn mehrer Artikel das selbe Datum haben, kann er ja nach Uhrzeit sortieren.

Könnt ihr mir da helfen? hab schon rumprobiert aber habs net hinbekommen.

Vielen Dank!

Hier der Code:

/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : Artikelblaettern
* Author : agon
* Copyright : Contenido - four for business
* Created : 22-08-2002
* Modified : 22-08-2002
************************************************/

echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
<tr>
<td>Artikel/Seite:</td>
<td><input type=\"text\" name=\"CMS_VAR[8]\" value=\"CMS_VALUE[8]\"></td>
</tr>
<tr>
<td>Länge Texteinblendung:</td>
<td><input type=\"text\" name=\"CMS_VAR[9]\" value=\"CMS_VALUE[9]\"></td>
</tr>
</table>";
<?php
$anzahl = "CMS_VALUE[8]";
if($anzahl<1) {$anzahl=10;}
$laenge = "CMS_VALUE[9]";
if($laenge<1) {$laenge=100;}
$sql = "SELECT ARTLANG.idart, ARTLANG.title, CATART.idcat, ARTLANG.created, CONTENT.value, CONTENT.idtype, CONTENT.typeid
FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat"]." AS CAT, ".$cfg["tab"]["content"]." AS CONTENT
WHERE ARTLANG.idart = CATART.idart AND CATART.idcat = CAT.idcat AND ARTLANG.idartlang=CONTENT.idartlang AND CONTENT.idtype<=2 AND CONTENT.typeid<=2 AND CAT.idcat='$idcat' AND ARTLANG.idlang = '$lang' AND ARTLANG.online = '1' AND CATART.is_start='0'
ORDER BY ARTLANG.artsort ASC,ARTLANG.created DESC";
$db->query($sql);
if ($db->num_rows() != 0)
{
echo "<h1><br>CMS_HTMLHEAD[6]</h1>
<table border=0 cellspacing=0 cellpadding=0 id=\"font\">";

$artikel = array(array());
$j=0;
$db->next_record();
$idart_last=$db->f("idart");
for ($i=0; $i<$db->num_rows(); $i++)
{
$artikel[$j][9] = $db->f("title");
$artikel[$j][0] = $db->f("idart");
$artikel[$j][1] = $db->f("idcat");
$artikel[$j][2] = substr($db->f("created"),8,2).".".substr($db->f("created"),5,2).".".substr($db->f("created"),0,4);
while ( $idart_last==$db->f("idart") )
{
if ( $db->f("idtype") == 2 && $db->f("typeid") == 1 )
{
$html_text = strip_tags(urldecode($db->f("value")));
$array = array ("&auml;" => "ä", "&ouml;" => "ö", "&uuml;" => "ü", "&szlig;" => "ß", "&Auml;" => "Ä", "&Ouml;" => "Ö", "&Uuml;" => "ü", "&nbsp;" => " ", """ => "\"", "<" => "<", ">" => ">", "&" => "&");
$html_text = strtr($html_text, $array);
$artikel[$j][5] = htmlentities(substr($html_text,0,$laenge))."...";
} elseif ( $db->f("idtype") == 1 && $db->f("typeid") == 1 )
{
$artikel[$j][3] = strip_tags(urldecode($db->f("value")));
} elseif ( $db->f("idtype") == 1 && $db->f("typeid") == 2 )
{
$artikel[$j][4] = strip_tags(urldecode($db->f("value")));
}
$idart_last=$db->f("idart");
$db->next_record();
$i++;
}
$idart_last=$db->f("idart");
$j++;
$i--;
}

if($blatt=="") {$blatt=0;}
$blattmax=ceil($j/$anzahl)-1;
$blatt1 = $blatt+1;
$blattmax1 = $blattmax+1;
if ($j>$anzahl)
{
echo " <tr>
<td colspan=3 align=\"right\">Seite ".$blatt1." von ".$blattmax1." – <b>";
for ($i=0; $i<=$blattmax; $i++)
{
$k = $i+1;
if($i==$blatt) {
echo " ".$k." ";
} else {
$navmod_link ="front_content.php?client=$client&lang=$lang&idcat=$idcat&blatt=".$i."";
echo ' <a href="'.$sess->url("$navmod_link").'" id="font">'.$k.'</a> ';
}
}
echo "</b><br></td>
</tr>";
}
for ($i=$anzahl*$blatt; $i < min($j,$anzahl*$blatt+$anzahl); $i++)
{
$k = $i-1;
$navmod_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$i][1]."&idart=".$artikel[$i][0]."";
echo '<tr>';
if ( $i>0 && $artikel[$i][2] == $artikel[$k][2] )
{
echo '<td></td>';
} else
{
echo '<td width="150px" valign="top"><p><b>'.$artikel[$i][2].'<br><a href="'.$sess->url("$navmod_link").'" id="font">'.$artikel[$i][9].'</a></b></p><br><br><br></td>';
}
echo '<td><img border="0" src="images/2.gif" width="7" height="1"></td>
<td valign="top"><p><b>'.$artikel[$i][3].'</b> '.$artikel[$i][5].' <a href="'.$sess->url("$navmod_link").'" id="font">mehr</a></p></td>
</tr>';
}

if ($j>$anzahl)
{
echo " <tr>
<td colspan=3 align=\"right\"><br>Seite ".$blatt1." von ".$blattmax1." – <b>";
for ($i=0; $i<=$blattmax; $i++)
{
$k = $i+1;
if($i==$blatt) {
echo " ".$k." ";
} else {
$navmod_link ="front_content.php?client=$client&lang=$lang&idcat=$idcat&blatt=".$i."";
echo ' <a href="'.$sess->url("$navmod_link").'" id="font">'.$k.'</a> ';
}
}
echo "</b></td>
</tr>";
}
echo '</table>';
}

?>

Verfasst: Do 12. Mai 2005, 11:12
von Beleuchtfix
Ich liebe diese wohldokumentierten Funktionen :( Eine ganze Seite code ohne eine einzige Zeile Kommentar :?:

Code: Alles auswählen

 if ( $i>0 && $artikel[$i][2] == $artikel[$k][2] )
{
echo '<td></td>';
} else
{
echo '<td width="150px" valign="top"><p><b>'.$artikel[$i][2].'<br><a href="'.$sess->url("$navmod_link").'" id="font">'.$artikel[$i][9].'</a></b></p><br><br><br></td>';
} 
Einfach die if-Abfrage weglassen und nur den zweiten Teil ausgeben.

Code: Alles auswählen

echo '<td width="150px" valign="top"><p><b>'.$artikel[$i][2].'<br><a href="'.$sess->url("$navmod_link").'" id="font">'.$artikel[$i][9].'</a></b></p><br><br><br></td>';
das Ganze ist nicht getestet.

Viel Erfolg
Florian

Verfasst: Mi 18. Mai 2005, 10:29
von bruderbarnabas
Vielen Dank!

Ich freu mich jedesmal wieder, wenn ihr mir weiterhelft!
Is ne tolle Sache dieses Forum!

Schöne Grüße aus München

Sebastian