Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]Najczęsciej oglądane
adrianozo
post
Post #1





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


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)?


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


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.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
blooregard
post
Post #3


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




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)

Ten post edytował blooregard 1.01.2010, 13:49:17


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
adrianozo
post
Post #4





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


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ż.


--------------------
Go to the top of the page
+Quote Post
blooregard
post
Post #5


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




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.


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
plsd
post
Post #6





Grupa: Zarejestrowani
Postów: 25
Pomógł: 1
Dołączył: 10.09.2009

Ostrzeżenie: (0%)
-----


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"

Ten post edytował plsd 1.01.2010, 13:58:08
Go to the top of the page
+Quote Post
adrianozo
post
Post #7





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


  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

Ten post edytował adrianozo 1.01.2010, 15:33:08


--------------------
Go to the top of the page
+Quote Post
plsd
post
Post #8





Grupa: Zarejestrowani
Postów: 25
Pomógł: 1
Dołączył: 10.09.2009

Ostrzeżenie: (0%)
-----


n.p tak
//pseudokod
Kod
if(isset($_GET[id])) && !empty($_GET[id]))
{
UPDATE artykuly SET wejscia=wejscia+1 WHERE id='.$_GET['id'].'
}


Ten post edytował plsd 1.01.2010, 15:36:34
Go to the top of the page
+Quote Post
adrianozo
post
Post #9





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


Chodzi mi o to. Jak zrobić, aby po kliknięciu odnośnika wykonywało się zapytanie.


--------------------
Go to the top of the page
+Quote Post
@rtur
post
Post #10





Grupa: Zarejestrowani
Postów: 254
Pomógł: 3
Dołączył: 23.02.2006

Ostrzeżenie: (0%)
-----


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].'"



--------------------
Artur
Go to the top of the page
+Quote Post
adrianozo
post
Post #11





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

Ostrzeżenie: (0%)
-----


Zrobiłem to trochę inaczej, ale dzięki za szczere chęci

Ten post edytował adrianozo 1.01.2010, 18:52:25


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 01:50