Archiv verlassen und diese Seite im Standarddesign anzeigen : Kleine Sortierfrage
Nabend :)
hab nochmal ne kleine Frage zur Sortierung der Tabellendaten aus der DB.
Also Abfrage ist jene: $result = mysql_query("SELECT * FROM $dbtable");
Tabellen sind diese:
while($row = mysql_fetch_array($result)){
$row['artikel']
$row['art_nr']
$row['abmessung']
$row['verpackung']
$row['eancode']
Wie bekomme ich das hin, daß ich werte via link übergeben kann und nach den ausgaben sortieren kann und dann noch aufsteigend und absteigend?
Danke schon mal :)
const_char
26-01-2003, 08:10
hi
hast du ein Glück ;)
habe gestern mein PHP Workshop wieder online getan - da wird auch genau das Problem zu deiner Frage behandelt! Das Kapitel dazu heisst Parameterübergabe
Direkter Link: http://www.friedolin.org/php-workshop.html#9
Wichtig: Lese das GESAMTE Kapitel - zum Schluss wird nochmal auf den PHP 4 Standart hingewiesen!
Wenn du dann die Daten übergeben hast kannst du ja eine Dynamische WHERE Abfrage machen:
$result = mysql_query("SELECT * FROM $dbtable ORDER BY $_GET[feld] (ASC,DESC)");
mehlvogel
26-01-2003, 08:23
Kleine Anmerkung zu dem Workshop - eine strukturierung durch kennzeichnung der Überschriften und hervorhebung der Beispiele würde dem Auge gut tun ;)
was const _char geschrieben hat ist schon richtig. Du übergibst an den mySQL Query einfach das Feld nach dem Sortiert werden soll und die Richtung entweder ASC oder DESC (ich weis nie was für welches steht - also ausprobieren). Das ganze kannst du auch per normaler parameterübergabe vom Benutzer steuern lassen. Dabei vergiss nicht die Übergabe zu escapen - mit mysql_escape_string (http://de3.php.net/mysql_escape_string) oder addslashes (http://de3.php.net/addslashes) denn ansonsten tust du dir ein ziemliches Sicherheitsloch auf.
const_char
26-01-2003, 08:44
mehlvogel: ehm - ja ich weiss, dass die Struktur fehlt! Das ganze sah auch mal anders aus - ich hab es gestern nur schnell von pdf in text umgewandelt und einfach geuppt, sodass es halt wieder im inet is.
Wen es interessiert:
http://www.mydownloadz.de/phpc/downloads/handbuchzip.zip <-- Handbuch im ZIP/PDF Format
http://www.mydownloadz.de/phpc/downloads/handbuchpdf <-- Handbuch im PDF Format (rechtsklick - Datei speichern unter) ;)
ehm ja ;) da isses auch wunderbar strukturiert!
EDIT: Hab jetzt die Überschriften fett gemacht ;)
grüssle
Moin.
Also ich hab mir nun was gebastelt, funkelt auch wunderbar. Leider bekomme ich diesen Fehler hier ned in den griff der wegen der nich bestimmten variable entsteht, da ja die datei beim ersten mal ohne suchkriterium aufgerufen wird.
if ($sortby!="")
{
$sorted = " order by $sortby ";
}
Notice: Undefined variable: sortby
Notice: Undefined variable: sorted
mehlvogel
26-01-2003, 23:12
wie hoch isn deine Meldungsstufe? Sauber wegprogrammiert macht man das so:
if (!isset($sorted)) $sorted = "";
if (!isset($sortby)) $sortby = "";
Für die faulen unter uns:
error_reporting(E_ERROR | E_WARNING);
Das einmal am Anfang des Skriptes, und ruhe is.
Ja gut, aber dann bekomme ich keine Ergebnisse mehr beim aufrufen der Datei, also findet er nix mehr in der DB :(
mehlvogel
27-01-2003, 09:24
Zeig mal ein wenig mehr von deinem Source
Also wie gesagt, ist nur wenn beim aufruf keine sortieranfrage vorhanden ist.
if (!isset($sortby)) $sortby= "";
{
$sorted = " order by $sortby ";
}
$sortquery = "select artikel,art_nr,abmessung,verpackung,eancode,eanbil d,bild,preis FROM $dbtable ";
$queryall = $sortquery.$sorted.$querylimit;
$resultall = MYSQL_QUERY($queryall);
$numberall = mysql_Numrows($resultall);
if ($numberall==0) {
echo "Keine weiteren Einträge!";
}
else if ($numberall>0) {
$x=0;
mehlvogel
27-01-2003, 11:20
Lass dir mal mysql_error() ausgeben.
Ansonsten sieht der Anfang recht komisch aus.:
$sorted = "";
if (!isset($sortby)) $sortby = "";
else $sorted = " ORDER BY ".mysql_escape_string($sortby);
So müsste das eigentlich aussehen...
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.