Autor Zpráva
Lazius
Profil
Dobrý den, mám problém, jsem začátečník. V databázy mam tabulku kam vkládám články a mám klasicky sloupce ID,titulek,text a sloupce hlavní a verejne. Potřebuji aby se mi vypsala poslední novinka, která má ve sloupcích hlavni a verejne 1. Potřebuji oddělit takto novinku která je hlavní protože se zobrazuje jinak než ostatní, ale zároveň musí být zaškrtnuto že je publikována jinak by se neměla zobrazit a měla by se zobrazit předchozí co splňuje tyto podmínky. Byl bych rád kdyby jste mě alespoň navedli jak se to dá udělat. Děkuji
petr 6
Profil
Pokud má ve sloupcích hlavni a verejne 1, tak všechny novinky, které vypisuješ, jsou hlavní, a pak tedy nevím, co chceš oddělovat. (Možná by nebylo od věci popsat problém česky.)
Lazius
Profil
mam tabulku a v ní sou nějaké články, ve formuláři kde píši článek si můžu zaškrtnout jestli chci aby novinka byla hlavní nebo ne, když bude hlavní tak se zobrazí nahoře zvýrazněná když nebude hlavní zobrazí se mezi ostatníma dole, potom článek uložím do databáze a buď ho můžu zveřejnit nebo ne, takže v té tabulce mám spoustu článků u některých je přiřazeno že jsou hlavní u některých ne a zároveň některé články jsou zveřejněny a některé ještě ne a já s tohohle potřebuju aby se mi zobrazila poslední novinku u který bylo zaškrtnuto a byla zveřejněna, líp to vysvětlit asi nemůžu
Budulinek
Profil
No, sice mi z toho není úplně jasné, cože to vlastně chceš, ale jestli chápu dobře, tak chceš vypisovat poslední publikovanou hlavní novinku. Jestli je to tak, tak stačí upravit dotaz na DB nějak takto:

SELECT sloupce_ktery_chces FROM clanky WHERE hlavni=1 AND verejne=1 ORDER BY id DESC LIMIT 1

Do WHERE dáš kriteria pro výběr, ORDER BY je řazení podle sloupce kde DESC je sestupné a ASC vzestupné a LIMIT je počet záznamů, které chceš vypsat. Podle toho už snad zvládneš ten výběr odeslat a zpracovat...
petr 6
Profil
Já to teď tedy chápu tak, že Lazius vypisuje více novinek (hlavní i nehlavní), ale nechce, aby první ve výpisu byla novinka nehlavní.
petr 6
Profil
Zkus tohle, u mne to funguje tak, jak jsem popsal v [#5]
SELECT id,titulek,text,hlavni,(select id from tabulka where hlavni=1 order by id desc limit 1) as poradi FROM tabulka where verejne=1 order by (poradi=id) desc, id desc limit 10

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: