Gość Opublikowano 14 Sierpnia 2011 Zgłoś Opublikowano 14 Sierpnia 2011 Witam Zrobiłem na mojej stronie (jeszcze offline) system newsów wg poradnika na tej stronie -> Prosty system newsów w PHP – to nie takie trudne Wszystko działa jak należy, ale chciałem wprowadzić drobne zmiany tzn. w pliku nowe.php chciałbym aby wyświetlały się tylko 3 najnowsze newsy, myślałem żeby może napisać taki wzorek -> ilość_rekodów-(ilość_rekordów-3), wtedy zawsze miałbym 3 newsy, tylko jak to wprowadzić. 2 zmianę, którą chciałbym wprowadzić to dodanie komentarzy do każdego z newsów. Proszę o jakieś doradzenie. Przepraszam, że pytam się o takie podstawy, ale jestem początkujący. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
m4r Opublikowano 14 Sierpnia 2011 Zgłoś Opublikowano 14 Sierpnia 2011 (edytowane) 1. Modyfikujesz zapytanie sql do wyłuskiwania nowych postów: "SELECT * FROM `news` ORDER BY `data` DESC LIMIT 3" Drobna uwaga - to zadziała tylko jeżeli datę masz podaną i będzie porządkować dane malejąco (najnowsze na górze, starsze niżej). Jeżeli chcesz rosnąco, zmieniasz DESC na ASC, albo nie piszesz nic, bo ASC jest domyślne. Ja nie używam nigdy pola id, bo czasem trzeba przenieść jakiś news wyżej/niżej, a przy polu id najczęściej jest jeszcze primary, unique i auto_increment, co trochę utrudnia działanie. A tak - zmieniasz datę w czasie update newsa i wszystko. 2. Komcie to trochę bardziej skomplikowana sprawa, więc lepiej ogarnąć podstawy SQL. Hint - potrzebna jest druga tabelka dla nich, potem select komciów przypisanych do konkretnego postu, etc. Tabelka mogłaby wyglądać tak: id {unsigned int, primary, auto_increment}| id postu, którego komentarza się tyczy {unsigned int}| nick usera {varchar(32)} | data {datetime} | //tutaj jakieś dodatkowe- np ip trolla// Potem do wyboru "select * from komcie where id_postu = 'id postu z pierwszego zapytania'", albo select z pierwszego punktu zmieniony na "select * from news n LEFT JOIN komcie k on n.id = k.id_komcia ORDER BY blablabla... :E Jest późno i piszę z głowy, więc nie daję sobie ręki uciąć za poprawność tego wyimaginowanego zapytania, jak też za jego wydajność. .:.:edit:.:. Poprawiłem błąd w 2. punkcie - nie id komentarza, tylko id postu miało być. Edytowane 15 Sierpnia 2011 przez m4r 1 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 14 Sierpnia 2011 Zgłoś Opublikowano 14 Sierpnia 2011 Dzięki wielkie za odpowiedź. Myślę, że sobie poradzę, w razie czego odezwę się. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...