Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> top10, top10 filmow
huntercs
post
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 6.02.2005

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


Więc tak mam rekordy w tabeli:

Id Imie Nazwisko Adres Film Dni Naleznosci Data Nowy
1 imie nazwisko adres 1 1 1 data 1

chciałbym zrobić top 10 najczęściej wybieranych filmow, chciałem zrobic to jakoś w pętlach ale pewnie da się o wiele prościej...

film to id filmu
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Vertical
post
Post #2





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


Po pierwsze zmieniłbym nieco strukturę bazy. Do:

Id | Imie | Nazwisko | Adres | Film | Dni | Naleznosci | Data | Nowy
1 | imie | nazwisko | adres | 1 | 1 | 1 | data | 1

...dodałbym jeszcze pole "ilosc_wybran (INT)"
Teraz wyjaśnię jak to ma działać. Po pierwsze użytkownik wybierze dany film klikając w link, żeby móc przesłać informacje o ID filmu metodą GET. Link wyglądałby tak:
  1. <a href = "./index.php?pobierz=$id_filmu&inna_zmienna=costam&inna_zmienna=cos_innego">Pobierz!</a>

...teraz skrypt sprawdzałby za pomocą if/then, czy ustawiony jest parametr "wybierz" w adresie strony. Jeśli jest, doda do pola ilosc_wybran 1 pobranie (+1):
  1. <?php
  2. if ( $_GET['pobierz'] )
  3. {
  4. $db = mysql_connect(&#092;"host\", \"user\", \"haslo\") or die(\"Nie mozna polaczyc sie z baza!\");
  5. mysql_select_db(&#092;"baza\", $db);
  6. mysql_query(&#092;"UPDATE tabela SET ilosc_wybran = ilosc_wybran+1 WHERE id = \". $_GET['pobierz'] .\"\");
  7. }
  8. ?>

...Następnie żeby wyświetlić Top 10 najczęściej wybieranych filmów, napisz:
  1. <?php
  2. $db = mysql_connect(&#092;"host\", \"user\", \"haslo\") or die(\"Nie mozna polaczyc sie z baza!\");
  3. mysql_select_db(&#092;"baza\", $db);
  4. $result = mysql_query(&#092;"SELECT DISTINCT * FROM tabela ORDER BY ilosc_wybran DESC LIMIT 10\");
  5. while( $row = mysql_fetch_array($result) )
  6. {
  7. echo (&#092;"$row[1]<br>\");
  8. }
  9. ?>

...wtedy skrypt wybierze pole "Imie" i posortuje malejąco według wartości INT w polu ilosc_wybran (ponieważ pobierając film użytkownik zwiększa wartość tego pola o 1)

PS. Jeszcze tego nie testowałem, więc jeśli jest w kodzie jakiś błąd to poprawcie
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 10.10.2025 - 17:26