Autor | Zpráva | ||
---|---|---|---|
divady Profil |
#1 · Zasláno: 21. 2. 2014, 17:29:41
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\"> |
||
Tori Profil |
#2 · Zasláno: 21. 2. 2014, 17:39:45
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 |
#3 · Zasláno: 21. 2. 2014, 17:56:55
ty hodnoty jsou 1 nebo 0
a jak by to mělo vypadat? |
||
divady Profil |
#4 · Zasláno: 21. 2. 2014, 18:59:58
zkoušel jsem to ale nefunguje mi to
|
||
Tori Profil |
#5 · Zasláno: 21. 2. 2014, 19:02:05
A můžete sem dát ukázku, jak jste to zkoušel?
|
||
divady Profil |
#6 · Zasláno: 21. 2. 2014, 19:18:43
<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 |
#8 · Zasláno: 21. 2. 2014, 19:41:24
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 |
#10 · Zasláno: 21. 2. 2014, 20:00:53
to je ono děkuji a ještě jsem se chtěl zeptat,
&order=accessdb%20desc,firma&smer=desc |
||
Tori Profil |
#11 · Zasláno: 21. 2. 2014, 20:12:37
%20 = mezera, enkódovaná pro použití v URL. Viz funkce rawurlencode
|
||
divady Profil |
#12 · Zasláno: 21. 2. 2014, 20:46:19
děkuji moc, za pomoc
|
||
Časová prodleva: 10 let
|
0