![]() |
![]() ![]() |
![]() |
![]()
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 ) |
|
|
![]()
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. |
|
|
![]()
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] |
|
|
![]()
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.
|
|
|
![]()
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] |
|
|
![]()
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] |
|
|
![]()
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 ![]() Pozdrawiam |
|
|
![]()
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...
![]() |
|
|
![]()
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
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 3.08.2025 - 07:29 |