Autor Zpráva
oogi
Profil *
Mám skript který mi zobrazuje databázi do tabulky o několika sloupcích.
U popisku každého sloupce mám odkaz, který přenáší proměnnou která pak rozlišuje, podle kterého sloupce se to má seřadit.
-nevím ale jak do toho pak zakomponovat příkaz DESC

Jak to udělat, aby to bylo co nejjednodušší?
Ni7R0
Profil
Jednoduše budeš přes get předávat další proměnnou, a pokud bude mít nějakou hodnotu, tak se k SQL dotazu připojí DESC, jinak ASC.
Např. takhle:
$order = ($_GET['order'] == "desc") ? "desc" : "asc";

$query = "SELECT * FROM `tabulka` ORDER BY `sloupec` $order";
oogi
Profil *
Něco takovýhleho mě taky napadlo, ale je tam potom moc podmínky v těch odkazech.

Fakt to nejde nějak jinak?
24k
Profil *
Jo de

$sloupce=array(

1 => sloupec1,
2=> sloupec2,
3 => sloupec3
.
.);


a pak mas klasicky zahlavi

<tr>
<th><a href="?seradit=$jak&sloupec=1>ID">Podle ID</a>
</th>

,
,
,

</tr>

pote php kodik

$jak = $_GET["jak"];
if ($jak == 1) { $jak_seradit = " " . "asc"; $jak = 2; }
elseif ($jak == 2) { $jak_seradit = " " . "desc"; $jak = 1; }
else { $jak_seradit = " " . "desc"; $jak = 1;}

a vysledny SQL je takovyto
select * from tabulka ORDER BY $sloupce[$_GET['sloupec']] $jak_seradit




No takove trosku spletite, ale nechce se mi to zkouset a tak.. .verim ze tenhle rychlejsi zpusob pochopis ;)
Kajman_
Profil *
Lze použít i číslo sloupce. Pro jednoduchost se to může hodit.

... order by 3

seřadí data podle třetiho sloupečku z toho selectu.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0