Sortierung über $PHP_SELF funktioniert nicht im Frontend

Gesperrt
trigger_id
Beiträge: 21
Registriert: Do 30. Sep 2004, 09:04
Kontaktdaten:

Sortierung über $PHP_SELF funktioniert nicht im Frontend

Beitrag von trigger_id »

Ich lese eine Publikationsliste (txt-file) über ein Modul aus, hier soll der Frontend-User wählen können, ob diese chronologisch oder alphabetisch angezeigt werden soll.
Die Anzeige erfolgt jedoch immer nur chronologisch, so wie die Seite zuerst aufgerufen wird. Die Sortierung über zsort= wird also nicht berücksichtigt...

Wie kann ich diese Problematik lösen?

if ( isset($zsort) && ($zsort==1) ){
printf("<font size=-1><a href=\"%s?idcatart=128?zsort=0\">[chronologisch sortiert]</a> [alphabetisch sortiert]</font></div>\n",$PHP_SELF);
}
else{
printf("<font size=-1>[chronologisch sortiert] <a href=\"%s?idcatart=128?zsort=1\">[alphabetisch sortiert]</a></font></div>\n",$PHP_SELF);
}
Besten Dank
trigger_id

Contenido-Version 4.6.15
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer »

die übergabe des sort-parameters alleine reicht ja auch nicht aus. wo nimmst du denn genau die sortierung vor?
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
trigger_id
Beiträge: 21
Registriert: Do 30. Sep 2004, 09:04
Kontaktdaten:

Beitrag von trigger_id »

Habe das folgende als Modul angelegt, das dann im Frontend ausgegeben wird. Muss ich da an anderer Stelle noch was für die Sortierung angeben? So gut kenne ich mich da leider echt nicht aus... :oops:

<?PHP
include( "db.inc" );

$sql_command = $sql_diss_chron;
if ( isset($zsort) ) {
if ( $zsort == 0 ) $sql_command = $sql_diss_chron;
if ( $zsort == 1 ) $sql_command = $sql_diss_name;
}
$result=send_sql($sql_command);
mysql_close($link);
if ( mysql_num_rows($result) == 0 ){ die ("... no relevant data found. "); }

printf("<table BORDER=0 CELLPADDING=0 COLS=0 WIDTH=\"90%%\" >\n");
printf("<tr>\n");
printf("<td ALIGN=LEFT>\n");
if ( isset($zsort) && ($zsort==1) ){
printf("<font size=-1><a href=\"%s?idcatart=128?zsort=0\">[chronologisch sortiert]</a> [alphabetisch sortiert]</font></div>\n",$PHP_SELF);
}
else{
printf("<font size=-1>[chronologisch sortiert] <a href=\"%s?idcatart=128?zsort=1\">[alphabetisch sortiert]</a></font></div>\n",$PHP_SELF);
}
printf("<ul>\n");




while ( $row = mysql_fetch_array($result) ) {
$diss_nr = $row['eintrag_nr'];
$diss_dir = $row['archiv_ort'];
$diss_titel = htmlentities($row['aktueller_titel']);
$diss_ort = $row['ort_26'];
$diss_verlag = htmlentities($row['verlag_26']);
$diss_jahr = $row['jahr_26'];
$diss_vol = $row['vol_34'];
$diss_reihe = $row['reihe'];
$diss_isbn = $row['isbn'];
$diss_seiten = $row['seiten'];
$diss_autor = htmlentities($row['name_autor']);
printf("<li>\n");
printf("<b>%s:</b>",$diss_autor);
printf("<br>\n");
printf("%s,<br>Dissertation, \n",$diss_titel);
printf("%s: \n",$diss_ort);
printf("%s, \n",$diss_verlag);
printf("%s. \n",$diss_jahr);
if ( $diss_dir != "" ){
// Online Publikation
printf("<a HREF=\"diss/diss.php?diss=%s\">Online Publikation</a>",$diss_nr);
if ( file_exists($diss_jahr."/".$diss_dir."/".$diss_dir.".pdf") ) {
printf("<a href=\"%s/%s/%s.pdf\">",$diss_jahr,$diss_dir,$diss_dir);
echo " -></a>";
}
}
else{
// Forschungsbericht
if ( FALSE !== strpos($diss_reihe,"Forschungsbericht") ) {
printf("<a HREF=\"http://www.shaker.de\" \n>");
printf("Forschungsberichte</a> (Band %s) ",$diss_vol);
}
else{
printf("%s",$diss_reihe);
}
$ctag=0;
if ( $diss_isbn != "" ){printf(" ISBN %s ",$diss_isbn);$ctag=1;}
if ( $diss_seiten != "" ){if($ctag==1)printf(", ");printf("%s Seiten",$diss_seiten);}
}

}// while loop
mysql_free_result($result);

printf("</ul>\n");
printf("</td>\n");
printf("</tr>\n");
printf("</table>\n");
?>
Besten Dank
trigger_id

Contenido-Version 4.6.15
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer »

sorry, habe es erst jetzt gesehen:

die übergabe von einem parameter erfolgt nach eine fragezeichen. mehrere übergabewerte müssen jedoch durch ein kaufmannsund getrennt werden und nicht durch ein fragezeichen.

korrekt muss es deshalb lauten:

Code: Alles auswählen

if ( isset($zsort) && ($zsort==1) ){ 
	printf("<font size=-1><a href=\"%s?idcatart=128&zsort=0\">[chronologisch sortiert]</a> [alphabetisch sortiert]</font></div>\n",$PHP_SELF); 
} else { 
	printf("<font size=-1>[chronologisch sortiert] <a href=\"%s?idcatart=128&zsort=1\">[alphabetisch sortiert]</a></font></div>\n",$PHP_SELF); 
} 
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
trigger_id
Beiträge: 21
Registriert: Do 30. Sep 2004, 09:04
Kontaktdaten:

Beitrag von trigger_id »

Super, vielen Dank, jetzt funktionierts!
:D
Besten Dank
trigger_id

Contenido-Version 4.6.15
Gesperrt