Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zaawansowany ranking
MaxRipper
post 20.08.2003, 10:22:42
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 2
Dołączył: 19.08.2003
Skąd: Białystok

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


Witam . Podczas dalszj budowy strony natknąlem się na problem z wygenerowaniem pozycji w rankingu jaki zajmuje dana recenzja (zdjęcie poniżej)

Problem polega na tym że nie wiem jak pobrać tylko nr danej pozycji z rankingu... Opisy filmow są oparte na bazie danych np link do filmu wygląda tak - film.php?film=3 gdzie 3 to id pobrany z bazy. Co do generowania rankingu to umiem to robić na np osobnej stronie, ale wtedy generuję wszystkie pozycje. Ranking generuję w ten sposób:

[php:1:95b9b3c3a5]<?php
mysql_connect ($dbhost, $dblogin, $dbpass);
mysql_select_db ($db);
function rankinglista()
{
$i = 1;
$zapytanie = "SELECT * FROM filmy ORDER BY srednia DESC";
$wykonaj = mysql_query ($zapytanie);
while ($wiersz = mysql_fetch_array ($wykonaj))
{
echo "<strong>".$i++."</strong>. ".$wiersz['tytulpl']." (".$wiersz['tytulen'].")<br>";
}
}
rankinglista();
?>[/php:1:95b9b3c3a5]

Zauważylem że na wielu dobrych stronach przy opisie filmu mam tez jego pozycję z rankingu ale niestety nie wiem jak to zrobić (podejrzewam że jakoś przy pomocy tablicy ale nigdy sie tablicami nie bawilem więc nie wiem )
Go to the top of the page
+Quote Post
uboottd
post 20.08.2003, 13:26:20
Post #2





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

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


Na zrobienie tego jednym zapytaniem na razie nie mam pomyslu (znaczy jeden mam, ale to grzyb) natomiast dwoma to luzik:

[php:1:c9faa79248]
$film = mysql_fetch_object(mysql_query("select * from filmy where idfilmu=$film_id"));
$rank = mysql_fetch_object(mysql_query("select count(*) as rank from filmy where srednia > $film->srednia"));
[/php:1:c9faa79248]

Jak Ci zalezy na jednym zapytaniu daj znac.
Go to the top of the page
+Quote Post
MaxRipper
post 21.08.2003, 10:53:45
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 2
Dołączył: 19.08.2003
Skąd: Białystok

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


Hmm za bardzo nie rozumie dzialania twojego skryptu postaram sie go przeanalizować w tym poście i powiedzieć czego nie wiem:

[php:1:4802277385]<?php
$film = mysql_fetch_object (mysql_query("select * from filmy where idfilmu=$film_id")); // tu wszstko jest jasne - zapytanie wybiera daną komórkę z tabeli jednak $film bym zastąpil na nap $film1 bo $film występuje w linku - film.php?menu=film&film=3 - a wiec prawdopidobnie by się mieszały
?>[/php:1:4802277385]

Dalej już niestety nie kumam:

[php:1:4802277385]<?php
$rank = mysql_fetch_object(mysql_query("select count(*) as rank from filmy where
srednia > $film->srednia")); // nie wiem do czego odnosi się zapytanie as rank - bo jeżeli do tabeli to takowa nie istnieje isnieje z kolei: tytul, srednia, glosow, suma - i wlasnie po tych tabelach należy kształtować jakiś ranking
?>[/php:1:4802277385]
Go to the top of the page
+Quote Post
uboottd
post 21.08.2003, 11:02:42
Post #4





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

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


"as rank" znaczy tyle, ze wynik wyrazenia (w tym przypadku count(*)) w wyniku jest nazywany rank, czyli z punktu widzenia pobranego wiersza jest tak jakbys mial kolumne rank i z niej wybieral dane.
Go to the top of the page
+Quote Post
MaxRipper
post 21.08.2003, 12:18:23
Post #5





Grupa: Zarejestrowani
Postów: 35
Pomógł: 2
Dołączył: 19.08.2003
Skąd: Białystok

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


no tak a jak wywoływać nr np:

[php:1:1667105df4]<?php
echo "$rank";
?>[/php:1:1667105df4]
Go to the top of the page
+Quote Post
uboottd
post 21.08.2003, 17:28:53
Post #6





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

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


[php:1:2b8aef5c0e]
echo $rank->rank;
[/php:1:2b8aef5c0e]
Go to the top of the page
+Quote Post
MaxRipper
post 21.08.2003, 19:03:44
Post #7





Grupa: Zarejestrowani
Postów: 35
Pomógł: 2
Dołączył: 19.08.2003
Skąd: Białystok

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


Pięknie działa!
Dzięki masz u mnie piwo albo miejsce w creditsach smile.gif

Pozdrawiam
Go to the top of the page
+Quote Post
uboottd
post 21.08.2003, 20:40:42
Post #8





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

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


Biorac po uwage ze jestem absolutnym abstynentem to wychodzi ze wole to drugie... winksmiley.jpg
Go to the top of the page
+Quote Post
MaxRipper
post 22.08.2003, 08:16:03
Post #9





Grupa: Zarejestrowani
Postów: 35
Pomógł: 2
Dołączył: 19.08.2003
Skąd: Białystok

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


OKi masz miejsce w creditsach jak w banku smile.gif - umieszczę twoją ksywkę w dziale o nas po skończeniu systemu...
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 Wersja Lo-Fi Aktualny czas: 3.08.2025 - 07:29