Seite 1 von 1

Artikelblättern nach Sortierschlüssel sortieren

Verfasst: Mo 21. Mär 2005, 13:19
von bruderbarnabas
Hallo,

hab schon gesucht, leider nichts befriedigendes gefunden.
Die meisten beiträge zu meiner Frage gingen um ein andres Modul.
Ist für euch bestimmt sehr easy...nur ich sitze schon lang dran und komme nicht weiter.
ich verwende das Modul "Artikelblättern" von Agon.

Aktuell werden die Artikel nach dem Änderungsdatum sortiert.
Ich muss die aber mit Sortierschlüssel sortieren können.

Könnt ihr mir helfen?

Danke schonmal.

Hier mein Modul-Output.

Code: Alles auswählen

<?php

 

$array = explode(",","CMS_VALUE[10]"); 

 

if ($array[0] != "") {

  for($x=0;$x<count($array);$x++){  

    $kategorien .= "CAT.idcat='" . $array[$x] . "'";

    if (($x+1) < count($array)) {

      $kategorien .= " OR ";

    }

  }

}

 

if (!$kategorien) { 

  $kategorien = "CAT.idcat='17' OR CAT.idcat='17'"; 

}

 

 

$anzahl = "CMS_VALUE[8]";

if($anzahl<1) {$anzahl=5;}

$laenge = "CMS_VALUE[9]";

if($laenge<1) {$laenge=200;}

$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 (".$kategorien.") AND ARTLANG.idlang = '$lang' AND ARTLANG.online = '1' AND CATART.is_start='0'

 ORDER BY ARTLANG.created DESC";

$db->query($sql);

if ($db->num_rows() != 0)

{

 

 

$artikel = array(array());

$j=0;

 $db->next_record();

 $idart_last=$db->f("idart");

for ($i=0; $i<$db->num_rows(); $i++)

{

 $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;

 

?>

 

<DIV class="text"></DIV>
<!-- Teaser start -->

 

<?php

 

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 valign="top"><p><b>'.$artikel[$i][2].'</b></p></td>';

 }

 

if ($z >= 0) {

 echo '

 

<DIV class="text">

<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr><td height="1"></td></tr>
  <tr align="left" valign="top">
<td width="1" bgcolor="#D3D3D3"> </td>
    <td height="10" bgcolor="#D3D3D3" ><A class="navi" href="'.$sess->url("$navmod_link").'">'.$artikel[$i][3].'</A></td>
  </tr>
</table>


<DIV class="text"></DIV></DIV>';

 

}

$z++;

}

 

}

?>

Verfasst: Mo 21. Mär 2005, 13:29
von emergence
ganz auf die schnelle

Code: Alles auswählen

ORDER BY ARTLANG.created DESC
ändern in

Code: Alles auswählen

ORDER BY ARTLANG.artsort DESC
sollte dann mittels sortierschlüssel sortiert werden
ach ja -> DESC oder ASC -> absteigend, aufsteigen sortieren

Verfasst: Mi 23. Mär 2005, 14:43
von bruderbarnabas
Hallo...

Vielen Dank ;)
Klappt wunderbar ... is echt toll das ihr einem so weiterhelft!

Jetzt noch eine klitzekleine Frage: ist es möglich, das das Artikeblättern Modul statt der Headline den Artikeltitel ausliest?

Dankeschön!

Ciao
Basti