![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 6.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Mam pewien problem, na innych forach nie dali rady mi pomóc więc zgłaszam się do was. Mam skrypt który wypisuje 15 najnowszych newsów:
[php:1:fea2b57fb0]<?php if (eregi("block-newsy.php", $_SERVER['PHP_SELF'])) { Header("Location: index.php"); die(); } global $prefix, $db; $content = "<table width="100%" border="0">"; $sql = "SELECT sid, title, comments, counter FROM ".$prefix."_stories $querylang ORDER BY sid DESC LIMIT 0,20"; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { $sid = $row['sid']; $title = $row[title]; $comtotal = $row[comments]; $counter = $row[counter]; $content .= "<tr><td align="left"><strong><big>·</big></strong> <a href="modules.php?name=News&file=article&sid=$sid">$title</a></td><td align="right"></td></tr>"; } $content .= "</table>"; </center>"; ?>[/php:1:fea2b57fb0] Teraz potrzebuje zrobić tak żeby newsy były wyświetlane z podziałem na dni i żeby te dni się zmieniały w zależności od czasu teraźniejszego, coś w tym stylu: Piątek ------------- Tytyłu newsa8 Tytyłu newsa7 Tytyłu newsa6 -------------- Czwartek --------------- Tytyłu newsa5 Tytyłu newsa4 --------------- Środa --------------- Tytyłu newsa3 Tytyłu newsa2 Tytyłu newsa1 Max ilość newsów wyświetlanych ma być równa 20. Tytuł newsa ma być linkiem do tego newsa. Nie wiem czy ten skrypt co napisałem coś pomoże..... Aha date w newsach mam w formacie "2003-10-25 20:09:26" - tak dokładnie jest w bazie mysql tylko w tym momencie godzina jest tu nie potrzebna. Jest kto kto potrafi pomóc mi w zbudowaniu tego skryptu ? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj o [manual:87a15a460a]mktime()[/manual:87a15a460a]
-------------------- PHP Developer
"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 6.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Przeczytałem, ale zbyt wiele mi to nie pomogło :? bo nie jestem jeszcze aż tak dobry.... proszę o pomoc bo nie mam pojecia jak to zrobić
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
sposob jest bardzo prosty - nie trzeba wykorzystywac tutaj mktime()
wykorzystaj tutaj mozliwosci jakie oferuje MySQL (aczkolwiek nie napisales z jakiego systemu zarzadzani baza danych korzystasz); otoz: wykorzystaj tutaj funkcje WEEKDAY() Twoje zapytanie wiec mniej wiecej wygladac bedzie nastepujaco: [sql:1:a206f623cd]SELECT jakiesId, WEEKDAY(nazwaPola) AS dzien FROM nazwaTabeli ...[/sql:1:a206f623cd] wynikiem zapytania bedzie wyswietlenie obok wartosci, ktore potrzebujesz kolumny z numerem dnia w tygodniu (poniedzialek = 0; niedziele = 6) to jest rozwiazanie Twojego problemu - natomiast jezeli bedziesz mial problem z zastosowaniem tego to pisz - pomoze Ci sie |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 6.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Używam phpmyadmin.
Hmmm... jednak mam problem z dalszym wykorzystaniem tego, proszę o dalsze wskazówki ![]() Ps. Wiedziałem że na tym forum są spece... ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
To,że korzystasz z phopMyAdmin nie ma znaczenia. Jedynie daje nam informację, że używasz MySQL. Zatem na przyszłość, wyrażaj się precyzyjniej.
Czego nie rozumiesz w tym, co mhs napisał? Próbowałeś to wykorzystać, czy czekasz na gotowca? Jeśli to pierwsze, to pokaż jak. I poczytaj Regulamin punkt IV.2.d i na przyszłość stosuj się do niego. -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 6.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
To że używam mysql napisałem w 1 poście "...2003-10-25 20:09:26" - tak dokładnie jest w bazie mysql tylko w tym momencie godzina jest tu nie potrzebna..."
Więc myślałem że chodzi tutaj o zarządzanie.... Nie czekam na gotowca ale więcej informacji gdyż nie potrafie stworzyć takiego czegoś: Piątek ------------- Tytyłu newsa8 Tytyłu newsa7 Tytyłu newsa6 -------------- Czwartek --------------- Tytyłu newsa5 Tytyłu newsa4 --------------- Środa --------------- Tytyłu newsa3 Tytyłu newsa2 Tytyłu newsa1 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Zacnzij od:[php:1:c443befa84]<?php
$sql = "SELECT sid, title, comments, counter, WEEKDAY(pole_daty) AS dzien FROM ".$prefix."_stories $querylang ORDER BY sid DESC LIMIT 0,20"; ?>[/php:1:c443befa84]I sprawdz co zobaczysz w [php:1:c443befa84]<?php $row['dzien']; ?>[/php:1:c443befa84] -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 6.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Skrypt:
[php:1:0f984756f4]<?php $sql = "SELECT sid, title, comments, counter, WEEKDAY(time) AS dzien FROM ".$prefix."_stories $querylang ORDER BY sid DESC LIMIT 0,20"; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { $sid = $row['sid']; $dzien = $row['dzien']; $title = $row[title]; $comtotal = $row[comments]; $counter = $row[counter]; $content .= "<tr><td align="left"><strong><big>·</big></strong> <a href="modules.php?name=News&file=article&sid=$sid">$dzien</a></td><td align="right"></td></tr>"; } ?>[/php:1:0f984756f4] Wyświetlił mi numer dnia w który się ten news ukazał wraz z linkiem do niego: 6 5 5 3 3 3 1 1 1 1 0 0 0 ....... |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
no widzisz
![]() teraz wystarczy miec na uwadze to co napisalem wczesniej: Cytat wynikiem zapytania bedzie wyswietlenie obok wartosci, ktore potrzebujesz kolumny z numerem dnia w tygodniu (poniedzialek = 0; niedziele = 6)
teraz w skrypcie napisz obsluge tego aby Ci wyswietlilo zamiast 0 to poniedzialek itd.... ps. chyba wczesniej sam to zrobisz niz ja Ci pomoge ![]() |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 6.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Tylko wydaje mi się że to nie tak będzie...
Ja chcę aby wyświetlał on newsy z dzisiejszego dnia, oraz poprzedniego a jeśli wstawię żeby wyświetła on np. z piątku to będzie wyświetlał newsy z wszystkich piątków.... :? dlatego tu potrzebny jest miesiąc oraz rok.... Nie musi się wyświetlać dzien tygodnia może też być tak: 04.01.2004 ------------- Tytyłu newsa8 Tytyłu newsa7 Tytyłu newsa6 -------------- 03.01.2004 --------------- Tytyłu newsa5 Tytyłu newsa4 --------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Człowieku, to czego ty w końcu chcesz?
To na co próbnujemy Cię z mhs'em naproweadzić da: 04.01.2004 | Tytyłu newsa8 04.01.2004 | Tytyłu newsa7 04.01.2004 | Tytyłu newsa6 03.01.2004 | Tytyłu newsa5 03.01.2004 | Tytyłu newsa4 03.01.2004 | Tytyłu newsa3 Teraz w jednej pętli wystarczy wywalić powtarzającą się datę ponad konkretne newsy Kod 1. Sprawdz datę.
2. Jesli inna niż ta z poprzedniego przebiegu pętli, pokaż datę 3. Pokaż tytuł 3. Idz do 1 dopóki nie skończy listować newsów -------------------- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 6.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
No ale w tym momencie jeśli 1 dnia będzie 20 newsów to 2 dzień się już nie wyświetli....
Ja mam taki pomysł na to: Kod Data= dzień dzisiejszy
1. Wyświetl data 2. Pobierz z bazy wszystkie newsy = data 3. Wyświetl te newsy 4. Wyświetla data-1 (dzień poprzedni) 5. Pobierz z bazy wszystkie newsy = data-1 6. Wyświetl te newsy Tylko gorzej z pomysłem na wykonanie... |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 6.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Już mam pomysł na wykonanie
![]() Przeczytałem manual o date() i mktime() ale nie potrafie nadal tego zrobić. |
|
|
![]()
Post
#15
|
|
![]() Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Szukałeś nie w tym manualu co trzeba
![]() :arrow: http://webdeveloper.pl/manual_mysql/show.p..._and_time_types -------------------- "Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning."
Cudi's devBlog |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 6.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Przeczytałem ale dalej jestem w dołku :? Nie wiem jak pobrać z bazy danych date "2003-10-25 20:09:26" tak żeby ją podzieliść na $rok $miesiąc $dzień bo chcę pominąć godzine żeby porównać to potem z date("Ymd")
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 6.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Napisałem już taki skrypt jednak on nie działa, na 100% jest błąd porównaniu daty news np. 2003-10-25 20:13:31 z obecną, da ktoś rade mi pomóc ?
[php:1:cd652c3387]<?php $data= mktime (0,0,0,date("Y"),date("m"),date("d")); $content = "<table width="100%" border="0">"; $sql = "SELECT title FROM ".$prefix."_stories WHERE time ='$data' ORDER BY time DESC"; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { $title = $row[title]; $content .= "<tr><td align="left"><strong><big>·</big></strong> <a href="modules.php?name=News&file=article&sid=$sid">$title</a></td><td align="right"></td></tr>"; } $content .= "</table>"; ?>[/php:1:cd652c3387] |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Cytat Napisałem już taki skrypt jednak on nie działa, na 100% jest błąd porównaniu daty news np. 2003-10-25 20:13:31 z obecną, da ktoś rade mi pomóc ?[php:1:bf1c3b6e4c]<?php
http://pl2.php.net/mktime [php:1:bf1c3b6e4c]<?php
$data= mktime (0,0,0,date("Y"),date("m"),date("d")); ?>[/php:1:bf1c3b6e4c] $data= mktime (0,0,0,date("Y"),date("d"),date("m")); ?>[/php:1:bf1c3b6e4c] -------------------- |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 6.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Napisałem z pomocą mhs nowy skrypt jednak nie wiadomo czemu on nie działa(nie wyswietla żadnych wyników), widzi ktoś tu jakiś błąd ?
[php:1:3df0a4fd65]<?php $today = date('Y-m-d'); $content = "<table width="100%" border="0">"; $sql = "SELECT title FROM ".$prefix."_stories WHERE LEFT(time, 10)= $today ORDER BY time DESC LIMIT 0,20"; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { $title = $row[title]; $content .= $title; } $content .= "</table>"; ?>[/php:1:3df0a4fd65] |
|
|
![]()
Post
#20
|
|
![]() Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
1. Zgubiłeś
[php:1:9de80b4f9e]<?php echo $content; ?>[/php:1:9de80b4f9e] Drobne uwagi: 2. Wsadź nazwe klucza tablicy $row między apostrofy, żeby php odrazu wiedziało że ma sie z tym obchodzić jak ze stringiem, a nie jak ze stałą 3. Niepotrzebnie towrzysz zmienną tymczasową $title, możesz odrazu przypisać wartość $row['title'] do zmiennej $content [php:1:9de80b4f9e]<?php while ($row = $db->sql_fetchrow($result)) { $content .= $row['title']; } ?>[/php:1:9de80b4f9e] -------------------- "Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning."
Cudi's devBlog |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.06.2025 - 09:53 |