Autor Zpráva
divady
Profil
dobrý den, potřeboval bych poradit,
mam řazení uděláno tak to
<a href = \"?section=".get_class($this)."&action=list_dodavatele&order=accessdb&smer=desc\">
je to seřazení podle přístupu do databáze ale ještě bych potřeboval aby se to zároven seřadilo podle abecedy, Pujde to?
Tori
Profil
A jaké hodnoty může mít sloupeček, kde je uložený typ přístupu do DB?
Možná něco jako ORDER BY (accessdb = 1) DESC, jmeno (desc = nejdřív budou ty, které vyhovují podmínce, pak ostatní. Obě skupiny pak budou samostatně seřazené podle jména.)
divady
Profil
ty hodnoty jsou 1 nebo 0
a jak by to mělo vypadat?
divady
Profil
zkoušel jsem to ale nefunguje mi to
Tori
Profil
A můžete sem dát ukázku, jak jste to zkoušel?
divady
Profil
<a href = \"?section=".get_class($this)."&action=list_dodavatele&order='accessdb' AND 'firma'&smer=desc\">podle přístupu do databáze</a>
Tori
Profil
divady:
Je dost nebezpečné, používat takhle přímo do SQL dotazu data z $_GET/$_POST (i kdyby vám to zrovna fungovalo). Raději zadejte do URL jen podmínku, že chcete řadit podle přístupu k DB: ..&action=list_dodavatel&order=accessdb&smer=desc a potom na základě toho si poskládáte SQL:
$sql = 'SELECT * FROM tabulka';
if (!empty($GET['order'])) {
    if ($_GET['order'] === 'accessdb') {
        $sql .= ' ORDER BY accessdb, firma';
    } 
    // tady může být další podmínka pro řazení podle jiného sloupce
} else {
    $sql .= ' ORDER BY firma';  // výchozí řazení bude jen podle názvu
}
if (!empty($_GET['smer']) && $_GET['smer'] === 'desc') {
    $sql .= ' DESC';
}
divady
Profil
ono je to jenom na jeden sever, kde k tomu mají přístup pouze jen dva lidi. je to administrátorskej web, tak že pouze jenom dva lidé, s ono je na te stránce více řazení něž jenom toto.
raeji bych to udělal podle mého řešení, i když vím že je to nebezpečné, ale ten web je chránen.
jen nevím jak to zapsat.
Tori
Profil
No určitě bez apostrofů. V DB se používají zpětné apostrofy, ale pokud název žádného ze sloupců není zároveň rezervovaným slovem v MySQL, tak tam být nemusejí. Možná: ...&order=accessdb,firma&smer=desc. Anebo pro opačné pořadí přístupu k DB: ...&order=accessdb%20desc,firma&smer=desc (předpokládám, že zadaný směr řazení přidáváte až za poslední sloupec, ne?).
divady
Profil
to je ono děkuji a ještě jsem se chtěl zeptat,
&order=accessdb%20desc,firma&smer=desc
těch dvacet znamená co?
Tori
Profil
%20 = mezera, enkódovaná pro použití v URL. Viz funkce rawurlencode
divady
Profil
děkuji moc, za pomoc

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: