Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Najczęsciej oglądane
Forum PHP.pl > Forum > Przedszkole
adrianozo
Witam.
Na wstępie chciałbym życzyć wszystkim Szczęśliwego Nowego Roku 2010 smile.gif
A teraz do rzeczy.
Od kilku dni zastanawiam się, jak zrobić na stronie głównej wyświetlanie np. 4 rekordów najczęściej odwiedzanych.
Zleceniodawca myślał, żeby to zrobić statycznie i tak mniej więcej co miesiąc zmieniać kod, ale to nie jest zbytnio wygodne i poręczne.
Dlatego wpadłem na pomysł, aby zrobić to(tak jak całą stronę) oparte o bazę danych. Tylko zastanawiam się jak to zrobić. Na jakiej zasadzie.
Może macie jakieś pomysły(podpowiedzi)?
Fifi209
Weź po prostu zrób coś w stylu licznika odwiedzeń do postów/artykułów czy co to tam jest i w zapytaniu posortuj malejąco (po tym polu) z limitem 4.
blooregard
W bazie danych:
- przy każdym rekordzie pole "licznik"

W skrypcie:
- przy każdym kliknięciu w link do danego rekordu robisz:
  1. UPDATE rekordy SET licznik=licznik+1 WHERE id_rekordu=ID_Z_GET_CZY_SKAD_TAM_CHCESZ


Na stronie głównej:
  1. SELECT * FROM rekordy ORDER BY licznik DESC LIMIT 4


Cytat
Zleceniodawca myślał, żeby to zrobić statycznie i tak mniej więcej co miesiąc zmieniać kod,

Nigdy nie zapisuj bezpośrednio w kodzie czegoś, co będzie ulegać zmianie. Wykorzystaj cokolwiek: pliki tekstowe, XML, bazę danych i aktualizuj ich zawartość po każdym wystąpieniu warunku zmiany (w tym przypadku - odczytanie danego rekordu zwięskza licznik odsłon o 1).
Wpisywanie czegokolwiek w kodzie "na sztywno" uczyni go koszmarem dla kogoś, kto będzie musiał ten kod aktualizwoać, a pamiętaj, że niekoniecznie musisz to być Ty)
adrianozo
Tylko zastanawiam się jakie zapytanie zrobić INSERT czy UPDATE i zastanawiam się czy zrobić to tylko dla artykułów czy porad i badań również.
blooregard
Cytat
Tylko zastanawiam się jakie zapytanie zrobić INSERT czy UPDATE

UPDATE. Co niby chcesz wstawiać? Masz tabelę z artykułami i po prostu po każdej odsłonie aktualizujesz licznik odsłon o 1.

Cytat
zastanawiam się czy zrobić to tylko dla artykułów czy porad i badań również.

To już zależy od logiki samej aplikacji i wymagań zleceniodawcy.
plsd
polecam UPDATE bo marnować zasoby jeśli programujesz obiektowo polecał bym zainteresować się kolekcją tu coś znalazłem na ten temat http://forum.php.pl/index.php?showtopic=90110.Super jest to opisane to w książce "PHP5. Zaawansowane programowanie"
adrianozo
  1. UPDATE artykuly SET wejscia=wejscia+1 WHERE id='.$_GET['id'].'


  1. echo '<div style="text-align:center;"><a style="text-decoration: none;" href="?page=medbooki&amp;id='.$wiersz[0].'"><br />Więcej</a></div>';


Jak to zapytanie wrzucić do linku? Pierwszy raz się z czymś takim spotykam
plsd
n.p tak
//pseudokod
Kod
if(isset($_GET[id])) && !empty($_GET[id]))
{
UPDATE artykuly SET wejscia=wejscia+1 WHERE id='.$_GET['id'].'
}
adrianozo
Chodzi mi o to. Jak zrobić, aby po kliknięciu odnośnika wykonywało się zapytanie.
@rtur
Cytat(adrianozo @ 1.01.2010, 15:48:37 ) *
Chodzi mi o to. Jak zrobić, aby po kliknięciu odnośnika wykonywało się zapytanie.

Robisz tak jak Ci pisał plsd
  1. if(isset($_GET[id])) && !empty($_GET[id]))
  2. {
  3. UPDATE artykuly SET wejscia=wejscia+1 WHERE id='.$_GET['id'].'
  4. }

Czyli sprawdza czy w adresie zmienna id zawiera jakieś dane i czy nie jest pusta, jesli zawiera dane to wykonuje zapytanie UPDATE

U Ciebie w podanym linku zmienna id jest, została przeze mnie pogrubiona:
  1. "?page=medbooki&amp;id='.$wiersz[0].'"

adrianozo
Zrobiłem to trochę inaczej, ale dzięki za szczere chęci
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.