[php] Jak rozwiaza problem priorytetu wiadomosci?

0

Mam kod ktory wyszukuje z bazy wiadomosci i wysweitla w odwrotnej kolejnosci limit 10 wiadomosci na strone

czyli: wpisywane wiadomosci w bazie wygladaja tak

id temat tresc
1 tema1 a kuku
2 tem2 olalala
3 tem 3 hey

na stronie wyswietlane sa jao

tem 3 hey
tem2 olalala
tema1 a kuku

a ja bym chcial zeby podczas wpisywania wiadomosci mozna bylo nadac priorytet PRZYKELJONA zeb zawsze widomosc byla na 1 miejscu te przyklejhone a reszta nizej to jak to mozna zrobic ?

0

dodaj dodatkowe pole, i przy wyciaganiu najpierw sortuj po tym polu....

0

hmmm czyli dodam pole PRIORYTET i jesli tam bedzie 1 to bedzie przyklejony jesli 0 to bedzie zwyczajny a jak powinno wygladac zapytanie sql teraz jest takie

SELECT id,topic,body
FROM news
LIMIT 0,10

a jak wtedy powinno wygladac z tym polem ?

0

SELECT kolumny FROM nazwa_tabeli ORDER BY nazwa_kolumny DESC LIMIT 10 gdzie nazwa_kolumny to kolumna w Twoim wypadku przechowujaca wartosc Priorytetu DESC - okresla ze wartosci maja byc sortowane od najwiekszej do najmniejszej

0

SELECT id, topic, body
FROM news
ORDER BY priorytet DESC, id DESC
LIMIT 0,10

0

zle napisalem kurcze przepraszam mi chodz i oto ze:

moje zapytanie wyglada tak:

SELECT id,topic,body
FROM news
ORDER BY id DESC
LIMIT 0,10

czyli jak ktos doda jakas wiadomosc to kpole ID
zwiekszy sie o jeden potem widomosci mozna usuwac itd
ale generalnie ostatnia dodana wiaodmosc z maksymalnym
numerem ID jest wysweitlana jako pierwsza a na stronie
wysweitla sie 10 wiadomosci

czyli teraz potrzebuje jakos zrobic zeby
wybrac te dziesiec wiadomosci z bazy ostatnie najnowsze wpisy

SELECT id,topic,body
FROM news
ORDER BY id DESC
LIMIT 0,10

i teraz z tych wpisow jak wybrac te ktore maja w polu
priorytet np : wartosc 1 jak wybrac zeby te z jedynka
byly na pierwszy mmiejscu a reszta odpowiednio nizej???
ale tez zeby byla posortowana wedlug kolejnosci dodawania
ze ostatnia dodana wartosc jest na pierwszym miejscu:

dla przykladu:

Wpisuje tak

  1. co nowego dzis w serwisie itd
  2. owuenta ale dzis padalo
  3. agadon nowe imiona
  4. ulewy pogoda szaleje PRIORYTET = 1
  5. koty nowe koty
  6. psy pieskie zycie

teraz jak wybieram z bazy 10 wpisow to musi najpierw wybrac z bazy
wszystkie wpisy gdzie w polu jest PRIORYTET = 1 i jesli znajdzie 1 wpis
w tym przypadku nr 6. to wyswietla go na poczatku a potem musi poszukac
jeszcze 9 najnowsszysch wpisow i wyswietlic je ponizej tego
priuorytetowego ale jak to zrobi?

0

Wydaje mi sie ze chodzi Ci o:

SELECT id,topic,body FROM test ORDER BY priorytet DESC,id DESC LIMIT 0,10

(na logike powinno być "priorytet,id DESC", ale sprawdzałem w phpmyadmin i dziala poprawnie jak jest "priorytet DESC,id DESC" :| :O )

[dopisane]
po przemyśleniu stwierdzam ze to nie bedzie działać jak zrobisz podział na strony (domyślam sie ze piszesz forum dyskusyjne - a fora muszą miec podział na strony)

wtedy będziesz potrzebował dwóch zaptań, albo jakiegoś fajnego podzapytania.. generalnie srawa sie skomplikuje :P

0

Dzieki kooba :)
to zapytanie co napisales i co ssnake napisal

SELECT id, topic, body
FROM news
ORDER BY priorytet DESC, id DESC
LIMIT 0,10

jest wlasnie tym o co mi chodzilo. Tworze taki wewnetrzny system administracji ale nie dla kogos czy jakiejs firmy ale dla wewnetrznej organizacji i tam zastosowalem takie info jak sie wchodzi na strone czyli jakies wazne komunikaty i potrzebowalismy wlasnie ze jak ktos dodaje info i ustawi ze ta wiadomosc jest wazna to ona zawsze na gorze bedzie czyli np jakies zebranie itd. a podtematy do forum to chyba za duzo jak dla mnie :) hehe
jak lacze kod php z html to bardzo zle to jest ?

0
wwww napisał(a)

jak lacze kod php z html to bardzo zle to jest ?

Bardzo złe nie, ale lepiej poczytaj o templatesach (duzo było na tym forum, i dobry art jest na webcity.pl)

1 użytkowników online, w tym zalogowanych: 0, gości: 1