Seite 1 von 1

Artikelreihenfolge umdrehen beim Dropdown Menü

Verfasst: Do 26. Mär 2009, 12:28
von stefkey
Hallo zusammen,

ich würde gerne die Ausgabe derArtikel umkehren. In dem Modul wird ein Dropdownmenü mit allen Artikeln einer Kategorie erzeugt. Dabei wird wohl nach idart(lang) sortiert. Kann man die Ausgabe einfach umdrehen? (ohne Sortierschlüsselnutzung wenn möglich)

Wäre klasse wenn mir hier jemand den Code ergänzen könnte, ich hab leider zu wenig Ahnung von php.

Grüße,
stekfey


...
...
// get articles
$is_empty=1;
while ($db->next_record()) {

$articleID = $db->f("idartlang");
$linkID = $db->f("idart");
$link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=$linkID");
$headline = $db->f("title");


// HTML template for one element
echo"<OPTION VALUE=$link>$headline</OPTION>";

unset($headline);
$is_empty=0;
} // end while
if ($is_empty == 1) {
echo "<OPTION>Keine Artikel</OPTION>";
}
...
...

Re: Artikelreihenfolge umdrehen beim Dropdown Menü

Verfasst: Do 26. Mär 2009, 12:34
von GaMbIt_
Auf Deine Frage...

Ja.. geht...

Zm Code..
Ergänzen? Ist das ein Ratespiel?
Poste doch bitte mal das gesamte Modul, inklusive dem SQL Statement...

Re: Artikelreihenfolge umdrehen beim Dropdown Menü

Verfasst: Do 26. Mär 2009, 12:45
von stefkey
ich sagte doch, ich habe keine Ahnung. Ich wollte es besonders klug machen und nur den Teil posten der interessant ist, dabei war ich mir so sicher das ich wenigstens das erkenne :?

Hier nun der ganze Code:

Input:

Code: Alles auswählen

/*********************************************** 
* CONTENIDO MODUL - INPUT 
* 
* Modulname   :       Artikellink Dropdown-Menue 
* Author      :     Mathias Berkenkamp, Jose Rodriguez, Ekkehard Dörre 
* Copyright   :     Mathias Berkenkamp, Jose Rodriguez, Ekkehard Dörre 
* Created     :     24-09-2002 
* Modified    :     09-03-2003 
* Letzte Änderung:  24-05-2004 
* Modified    :     26-05-2008 Tobias Klonk (ported to 4.6 & 4.8) 
* Contenido-Version: 4.6 & 4.8 (start_compatible=false) 
************************************************/ 
echo "<table cellspacing=\"0\" cellpadding=\"5\" border=\"0\"> 
        <tr valign=\"top\">"; 

// Block ein oder ausschalten 

echo"<td>Block:</td><td><input type=\"radio\" name=\"CMS_VAR[1]\" value=\"\""; 
if ("CMS_VALUE[1]" == "") { 
echo "checked=\"checked\""; 
} 
echo ">aus</td></tr><tr><td></td><td><input type=\"radio\" name=\"CMS_VAR[1]\" value=\"0\""; 
if ("CMS_VALUE[1]" == "0") { 
echo "checked=\"checked\""; 
} 
echo ">an</tr><tr valign=\"top\">"; 

// Kategorie Wählen 
$selected = "CMS_VALUE[0]"; 

echo "<td>Kategorie wählen:</td><td> 
            <select name=\"CMS_VAR[0]\">"; 

            // fetch all categorys 
            $query = "SELECT A.idcat, A.level, C.name FROM ".$cfg["tab"]["cat_tree"]." AS A, ".$cfg["tab"]["cat"]." AS B, ".$cfg["tab"]["cat_lang"]." AS C WHERE A.idcat=B.idcat ". 
                     "AND B.idcat=C.idcat AND C.idlang='$lang' AND B.idclient='$client' ". 
                     "AND C.visible=1 ORDER BY A.idtree"; 

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

            // loop result and build the options 
            while ($db->next_record()) { 

              // indent spacer 
              $spaces = ""; 

              // how many levels 
              $levels = $db->f("level"); 

              for ($i = 0; $i > $levels; $i ++) { 
                // add 2 spaces for every level 
                $spaces = $spaces . "  "; 

              } // end for 

              if ($selected == $db->f("idcat")) { 
                // selected category 
                echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>"; 

              } else { 
                // category 
                echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>"; 

              } // end if 

            } // end while 

echo "      </select> 
          </td> 
        </tr> 
        <tr valign=\"top\">"; 

// Startartikel 

echo"<td>Startartikel:</td><td><input type=\"radio\" name=\"CMS_VAR[2]\" value=\"\""; 
if ("CMS_VALUE[2]" == "") { 
echo "checked=\"checked\""; 
} 
echo ">nein</td></tr><tr><td></td><td><input type=\"radio\" name=\"CMS_VAR[2]\" value=\"0\""; 
if ("CMS_VALUE[2]" == "0") { 
echo "checked=\"checked\""; 
} 
echo ">ja</tr>    
        
      </table>";
Output:

Code: Alles auswählen

<?php 
/*********************************************** 
* CONTENIDO MODUL - OUTPUT 
* 
* Modulname   :   Artikellink Dropdown-Menue 
* Author      :   Mathias Berkenkamp, Jose Rodriguez, Ekkehard Dörre 
* Copyright   :   Mathias Berkenkamp, Jose Rodriguez, Ekkehard Dörre 
* Created      :   24-09-2002 
* Modified   :   09-03-2003 
* Letzte Änderung   :   24-05-2004 
* geändert durch   :   Christa Tabara 
* Contenido-Version   :   4.4.4 
************************************************/ 

if ("CMS_VALUE[1]" == "0") { 

echo "<TABLE cellspacing=\"0\" border=\"0\"><FORM name=\"quicklink\"><TR><TD NOWRAP><SELECT NAME=\"jump\" onChange=\"if (this.options[this.selectedIndex].value.length!=0) location=this.options[this.selectedIndex].value\">"; 
echo"<OPTION VALUE=link>Bitte w&auml;hlen Sie</OPTION>"; 
// selected category 
$selcat = "CMS_VALUE[0]"; 

// select all articles in category without start article 

if ("CMS_VALUE[2]" == "0") { 
$query = "SELECT ARTLANG.title,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 CATART.idart "; 

// select all articles in category with start article 

} else { 
$query = "SELECT ARTLANG.title,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'AND CATART.is_start = '0' ORDER BY CATART.idart "; 

} 

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

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


// get articles 
$is_empty=1; 
while ($db->next_record()) { 
    
  $articleID = $db->f("idartlang"); 
  $linkID = $db->f("idart");  
  $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=$linkID");  
  $headline = $db->f("title"); 
  
  
  // HTML template for one element 
   echo"<OPTION VALUE=$link>$headline</OPTION>"; 

  unset($headline); 
  $is_empty=0; 
} // end while 
if ($is_empty == 1) { 
        echo "<OPTION>Keine Artikel</OPTION>"; 
} 

echo"</SELECT></FORM> 
<SCRIPT LANGUAGE=\"Javascript 1.1\"><!-- 
document.quicklink.jump.selectedIndex=0; 
//--></SCRIPT></TD</TR></table>"; 

} else {} 
?>
Besten Dank!

Re: Artikelreihenfolge umdrehen beim Dropdown Menü

Verfasst: Do 26. Mär 2009, 12:58
von GaMbIt_
Wie Du schon richtig erkannt hast werden die Artikel mit

Code: Alles auswählen

ORDER BY CATART.idart 
nach der idart sortiert...
Um die Ausgabe der Abfrage einmal umzudrehen hängst Du hinten einfach ein DESC dran :D klingt einfach.. ist es auch...

Code: Alles auswählen

ORDER BY CATART.idart DESC

Re: Artikelreihenfolge umdrehen beim Dropdown Menü

Verfasst: Do 26. Mär 2009, 13:31
von stefkey
Besten Dank nochmal, hat funktioniert ... und soooo wenig zu ändern! php is Toll ;-)

Grüße,
stefkey

Re: Artikelreihenfolge umdrehen beim Dropdown Menü

Verfasst: Do 26. Mär 2009, 13:43
von GaMbIt_
Öhm... *hüstel*

Das ist SQL ... :mrgreen:

Re: Artikelreihenfolge umdrehen beim Dropdown Menü

Verfasst: Do 26. Mär 2009, 13:44
von idea-tec
sei doch nicht SO kleinlich ;-)

Re: Artikelreihenfolge umdrehen beim Dropdown Menü

Verfasst: Do 26. Mär 2009, 13:47
von GaMbIt_
doch doch doch ... *aufstampf* :mrgreen:

deswegen doch der lustige Smiley..

Re: Artikelreihenfolge umdrehen beim Dropdown Menü

Verfasst: Do 26. Mär 2009, 13:53
von stefkey
:oops:

PS Ich kann aber Klavier spielen! :mrgreen:

Re: Artikelreihenfolge umdrehen beim Dropdown Menü

Verfasst: Do 26. Mär 2009, 13:58
von GaMbIt_
der war gut...

Re: Artikelreihenfolge umdrehen beim Dropdown Menü

Verfasst: Do 26. Mär 2009, 14:01
von idea-tec
Klavier kann ich nicht spielen, aber meine Fingerfertigkeit wurde bereits mehrfach lobend erwähnt 8)