Seite 1 von 1

Sortierung im Download-Modul

Verfasst: Mi 31. Okt 2007, 10:30
von Andreas
Hallo zusammen,

ich hoffe, mir kann jemand helfen...

1. Ich benötige das u.a. Download-Modul. Ist relativ simpel und funktioniert auch klasse. Allerdings muß das Modul die Downloads so sortieren, dass immer der letzte Eintrag (also der neueste) oben in der Liste im Frontend dargestellt wird.

Wie kann ich das realisieren?
Bin damit leider im Zeitdruck und würde mich über eine schnelle Antwort sehr freuen.

2. Noch eine Zusatzfragen: Kann ich das Modul so "umbauen", dass es nur auf einen bestimmten Ordner im Upload-Verzeichnis zugreift?

Hier das Modul:

INPUT

Code: Alles auswählen

$query = "SELECT * FROM ".$cfg["tab"]["upl"]." WHERE idclient='$client' AND filetype IN ('pdf', 'zip', 'tar', 'sit', 'doc','pps', 'ppt', 'xls')"; 

$db->query($query); 


while ($db->next_record()){ 
         $medias[] = array('idupl'=> $db->f('idupl'), 'filename' =>$db->f('filename')); 
} 
echo '<table><tr><td class="text_medium"><b>Datei</b></td><td class="text_medium"><b>Linktext</b></td>'; 
$CMS_VALUE = array_unique($CMS_VALUE); 

for ($i=0; $i <= count($CMS_VALUE); $i+=2){ 
echo "<tr><td>"; 
   echo '<select name="CMS_VAR['.$i.']">'; 
      echo "<option value='0'>-- kein --</option>\n"; 
      foreach ($medias as $media){ 

         ($CMS_VALUE[$i] == $media['idupl'] ) ? $sel = " selected='selected' " : $sel = ""; 
      echo "<option value='". $media['idupl']."' $sel >".$media['filename']."</option>\n"; 

   } 
   echo "</select>"; 
   echo '</td><td><input style="width:550px;" type="text" value="'. $CMS_VALUE[($i+1)] .'" name="CMS_VAR['.($i+1).']" />'; 
   echo "</td></tr>"; 
} 
echo "</table>"; 
unset($medias); 
OUTPUT

Code: Alles auswählen

<?PHP 
cInclude("includes", "functions.upl.php");
$db2 = new DB_Contenido; 

for ($i=0; $i < count($CMS_VALUE); $i+=2){ 
   if ($CMS_VALUE[$i] != 0){ 
      $sql = "SELECT * FROM " . $cfg['tab']['upl']. " WHERE idupl= $CMS_VALUE[$i]"; 
      $db2->query($sql); 
      $db2->next_record(); 
          
      $data_local= $cfgClient[$client]["upl"]["path"]. $db2->f('dirname'). $db2->f('filename'); 
      $data_http= $cfgClient[$client]["upl"]["htmlpath"]. $db2->f('dirname'). $db2->f('filename'); 
          
      echo "<table width='100%'  border='0' cellspacing='0' cellpadding='0' style='padding-left:5px'>
        <tr valign='middle'>
          <td width='17' height='25'><img src='upload/layout/space.gif' width='17' height='17'></td>
          <td width='21' height='25'><a href='$data_http' target='_blank'><img src=".uplGetFileIcon($data_local)." border='0' alt=". getFileExtension($data_local)."-Datei&nbsp;downloaden /></a></td>
          <td height='25' class='text'><a href='$data_http' target='_blank' title='". getFileExtension($data_local)."-Datei&nbsp;downloaden'>".$CMS_VALUE[($i+1)]."</a> (ca. ". human_readable_size(filesize($data_local)).")</td>
  </tr>
</table><br>";
                
   }    
} 

unset($data_local); 
unset($data_http); 

?> 
Vielen Dank im voraus

Gruß
Andreas

Verfasst: Fr 2. Nov 2007, 13:32
von wayfearer
Sortieren:

Code: Alles auswählen

$query = "SELECT * FROM ".$cfg["tab"]["upl"]." WHERE idclient='$client' AND filetype IN ('pdf', 'zip', 'tar', 'sit', 'doc','pps', 'ppt', 'xls') ORDER BY created DESC";
Wenn das nach Einstelldatum sortiert werden soll

oder

Code: Alles auswählen

$query = "SELECT * FROM ".$cfg["tab"]["upl"]." WHERE idclient='$client' AND filetype IN ('pdf', 'zip', 'tar', 'sit', 'doc','pps', 'ppt', 'xls') ORDER BY lastmodified DESC";
Wenn das nach dem letzten Änderungsdatum sortiert werden soll

Für das auswählen von nem speziellen Verzeichnis kannste das auch über die Abfrage machen:

Code: Alles auswählen

$query = "SELECT * FROM ".$cfg["tab"]["upl"]." WHERE idclient='$client' AND filetype IN ('pdf', 'zip', 'tar', 'sit', 'doc','pps', 'ppt', 'xls') AND dirname = 'DEINVERZEICHNIS'";
Mfg,

Marcel