yxcvbnm1234
Goto Top

Sortier-Funktion einbauen in PHP-Script

In meinem Browserfenster sieht es folgendermassen aus (siehe JPG unten):
255525343368a0276b068691864c01b8

Dies habe ich soweit mal mit PHP&MySQL (Zusammenspiel PHP&MySQL) hingekriegt. Ich würde (muss eig. dringend) gerne ein Suchfunktion eibauen, so, dass ich die Daten sortieren kann, z.B:

- sortieren nach Geburtstag
- sortieren nach Ort (Anfangsbuchstabe alphabetisch)

-> egal wie, hauptsache ich kann sortieren direkt im Browserfenster..


Wüsste vielleicht jem. von euch eine Lösung?

Vielen Dank!!
255525343368a0276b068691864c01b8

Content-Key: 156071

Url: https://administrator.de/contentid/156071

Printed on: April 16, 2024 at 15:04 o'clock

Member: knut4linux
knut4linux Nov 30, 2010 at 16:10:47 (UTC)
Goto Top
Mahlzeit,

die einfachste Lösung wäre, du baust über die Tabelle oder was wohin, ein Tropdownmenu wo du nach einem klick sortieren kannst.

Ich nehme mal du setzt XAMPP ein??
Member: yxcvbnm1234
yxcvbnm1234 Nov 30, 2010 at 16:26:27 (UTC)
Goto Top
Genau! XAMPP wird eingesetzt! Das wäre natürlich mal was, wie ich es aber anstellen soll, davon habe ich keinen schimmer.

Grüsse und vielen Dank dass du geantwortet hast!
Member: knut4linux
knut4linux Nov 30, 2010 at 16:44:52 (UTC)
Goto Top
OK, ich bin zwar jetzt nicht der PHP-Oerguru, aber ich werde mal schauen, was ich aus meiner Schatzkiste kramen kann. Wird aber frühestens erst morgen Abend. Ich weiß jetzt nicht wie fit du selbst schon in PHP bist, aber wenn du dich so lange selbst versuchen willst, dann schau setzt dich mit der PHP_SELF Funktion auseinander.


Bis Morgen
Member: dog
dog Nov 30, 2010 at 18:00:25 (UTC)
Goto Top
Wo ist da jetzt das Problem?

Du machst die Spaltenköpfe zu Links:

seite.php?sort=1&order=ASC
seite.php?sort=2&order=ASC
...

Und wenn man draufklickt baust du halt den SQL Query entsprechend:

<?php

  $query = "SELECT ...";  

  $columns = array(1 => 'column1', 2 => 'column2', 3 => 'column3' ...);  
  $sortOrders = array('ASC','DESC');  
  if(!empty($_GET['sort']) && array_key_exists($_GET['sort'], $columns) && in_array($_GET['order'], $sortOrders)) {  
    $query .= ' ORDER BY '.$columns[$_GET['sort']].' '.$_GET['order'];  
  }
  
  mysql_query($query);
  ...
?>

Und eine inverse Sortierung kann man beim Bauen der Tabelle ganz einfach einbauen:
<?php

  for(...) {
    if(!empty($_GET['sort']) && $columns[$_GET['sort']] == $col_id) {  
      $order = ($_GET['order'] == 'ASC')? 'DESC' : 'ASC';  
      
      #url bauen...
    }
  }
  
?>
Member: knut4linux
knut4linux Nov 30, 2010 at 21:31:35 (UTC)
Goto Top
Diese Lösung ist natürlich "Deluxe". Genau so ist es auch, wenn du dir deine Datenbank mit dem mitgelieferten Datenbankbrowser von PHPMyAdmin betrachtest. Hier sind die Spaltenköpfe ebenfalls zu Links programmiert.

Genauso.
Member: yxcvbnm1234
yxcvbnm1234 Dec 01, 2010 at 08:14:35 (UTC)
Goto Top
Liebe Leute

Ich danke euch viel viel mal! Sehr nett von euch!


Liebe Grüsse. ps. Ich werde es direkt ausporobieren