SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 06.12.2011, 23:35:31
mr.martin mr.martin ist offline
Anfänger
 
Registriert seit: Dec 2011
Alter: 42
Beiträge: 3
"ORDER BY" aus Select Dropdown wird auf Folgeseiten nicht mehr sortiert

Hallo Leute,

ich habe ein Problemchen und zwar lasse ich mir Ergebnisse einer Datenbank anzeigen.
ok, soweit nichts ungewöhnliches :-). Die Ausgabe erfolgt unsortiert, diese lasse ich mir mittels Dropdown Menü sortieren.
Dann lasse ich mir die ersten 10 Einträge anzeigen, auf Seite 2 habe ich dann allerdings das Problem, dass die Daten wieder unsortiert sind.

Ich habe schon viel gelesen über die Übergabe der Variablen und probiere auch schon seit 2 Tagen rum, aber ich bekomm es einfach nicht hin. Ab Seite 2 ist es wieder unsortiert.

Ich hoffe ihr könnt mir weiterhelfen! Hier der Code:

HTML-Code:
<form id="target" method="POST" onchange="submit()">
           <select name="sortierung">
           <option>Bitte Sortierkriterium wählen:</option>
           <option value="kalt">kalt</option>
           <option value="mittel">mittel</option>
           <option value="warm">warm</option>
Code:
// Datendefinition für die Clientausgabe
$start = $_GET['start'];
$start = (isset($start)) ? abs((int)$start) : 0;
$limit = 10;
Code:
$order_values = array('kalt, 'mittel', 'warm');
if( in_array($_POST['sortierung'], $order_values) ) { 
   $order = "ORDER BY {$_POST['sortierung']}";
} else {
   $order = '';
}
Code:
// Zurück- und Vorblättern
if ($start > 0)
{
  $newStart = ($start - $limit < 0) ? 0 : ($start-$limit);
  echo "<a href=".$_SERVER['PHP_SELF']."?start=".$newStart
      .">&lt;&lt; zurück &nbsp;</a>";
}

if ($start + $limit < $total)
{
  $newStart = $start + $limit;
  echo " <a href=".$_SERVER['PHP_SELF']."?start=".$newStart
      .">vor &gt;&gt;</a>";
}

Wie gesagt, es funktioniert alles soweit, außer dass ab Seite 2 keine Folgeseite mehr sortiert ist.

Ich hoffe ihr könnt mir weiterhelfen.
Mit Zitat antworten
  #2  
Alt 07.12.2011, 00:23:14
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: "ORDER BY" aus Select Dropdown wird auf Folgeseiten nicht mehr sortiert

Hi

google mal "PHP_SELF is böse"

ansonsten wie wärs mit übergeben des order-Status in dem
vor / zurück link?

PHP-Code:
...
"?start=".$newStart."&sortierung=
... 
mfg

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #3  
Alt 07.12.2011, 00:58:34
mr.martin mr.martin ist offline
Anfänger
 
Registriert seit: Dec 2011
Alter: 42
Beiträge: 3
AW: "ORDER BY" aus Select Dropdown wird auf Folgeseiten nicht mehr sortiert

Hi Ckaos, danke für den Tipp.

Stichwort: Cross Site Scripting (XSS). Ok. Das ist wohl nicht der Weisheit letzter Schluss. :-) Wie gesagt, ich bin Anfänger und über jeden Tipp sehr dankbar!!

Also wird geändert. D.h. ich würde stattdessen auf eine neue Seite gehen, oder? Hintergrund ist: ich wollte eigentlich die Ergebnisse auf der eigentlichen Seite weitersortieren und nicht jedesmal auf eine neue Seite gehen.

Muss ich das denn? Oder was kann ich nehmen anstelle von PHP_Self?

Kannst du mir vll. noch ein paar mehr Tipps geben? Vielen Dank und Grüße Martin
Mit Zitat antworten
  #4  
Alt 07.12.2011, 03:47:01
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: "ORDER BY" aus Select Dropdown wird auf Folgeseiten nicht mehr sortiert

Hi

Zitat:
D.h. ich würde stattdessen auf eine neue Seite gehen, oder?
musst du doch nicht...
PHP-Code:
//...
echo '<a href="deine_seite.php?start='.$newStart.'&order='.$wasAuchImmer.'">vor &gt;&gt;</a>';
//oder wenns eh im docroot ist
echo '<a href="/deine_seite.php?start='.$newStart.'&order='.$wasAuchImmer.'">vor &gt;&gt;</a>';
//oder wenns nur ein teil der index ist
echo '<a href="index.php?page=ergebnisse&start='.$newStart.'&order='.$wasAuchImmer.'">vor &gt;&gt;</a>'
beachte bei den Bsp die Anführungszeichen!

hoffe das gibt ein Denkanstoss ;)

mfg

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #5  
Alt 07.12.2011, 14:06:10
mr.martin mr.martin ist offline
Anfänger
 
Registriert seit: Dec 2011
Alter: 42
Beiträge: 3
AW: "ORDER BY" aus Select Dropdown wird auf Folgeseiten nicht mehr sortiert

Hi Ckaos,

danke für deine Hilfe.

Ich habe es jetzt mal wie folgt angepasst:

Code:
// Zurück- und Vorblättern
if ($start > 0)
{
  $newStart = ($start - $limit < 0) ? 0 : ($start-$limit);
 echo '<a href="/?p=837?start='.$newStart.'&order='.$sort.'">.">&lt;&lt; zurück &nbsp</a>';
}

if ($start + $limit < $total)
{
  $newStart = $start + $limit;
  echo '<a href="/?p=837?start='.$newStart.'&order='.$sort.'">vor &gt;&gt;</a>';
}
$sort habe ich so definiert:
Code:
$sort = $_POST['sortierung'];
Soweit so gut. Aber es funktioniert leider nicht.
Also, es handelt sich konkret um ein Wordpress Blog. Der Artikel in dem ich das einbauen möchte ist auf der Startseite direkt oben. Wenn ich sortiere, dann sortiert er mir die ersten 10 Ergebnisse korrekt, wenn ich dann auf --> vor klicke, dann geht er auf die Seite des Artikels (/?p=837) und schreibt mir auch start=10 und order=sortierung (also so: www.meineseite.de/?p=837?start=10&order=kalt) rein. Das sieht ja ganz gut aus.
Allerdings sortiert er nichts.

Klicke ich jetzt noch einmal auf --> vor, dann mach er das hier: (www.meineseite.de/?p=837?start=10&order=) er setzt also nicht den Start Wert auf 20 und order hat er auch nicht mehr verfügbar. Hmm...

Könnest du mir noch mit einem weiteren Denkanstoß auf die Sprünge helfen?
Mit Zitat antworten
  #6  
Alt 08.12.2011, 01:17:25
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: "ORDER BY" aus Select Dropdown wird auf Folgeseiten nicht mehr sortiert

Hi

Zitat:
?p=837?start=
2mal ?
besser -> ?p=837&start=

mfg

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
Antwort

Stichworte
order by, pagination, sortieren, sortierung


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ausgabe wird nicht angezeigt Extremefall PHP Grundlagen 9 17.12.2009 09:49:45
"order by" und "group by" zusammen theresa MySQLi/PDO/(MySQL) 2 02.04.2006 16:55:05
To Many Connections ProGamer11 PHP Grundlagen 0 19.06.2003 00:52:56
SQL "ORDER BY" Frage McDoogle PHP für Fortgeschrittene und Experten 4 12.01.2003 13:31:42
Sortierung ("ORDER BY") umkehren? Stefan PHP für Fortgeschrittene und Experten 6 21.07.2002 23:33:53


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:57:19 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt