Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [wolontariat]TOP 10
Forum PHP.pl > Inne > Giełda ofert > Poszukuję
czaczawik
Staram sie zrobic TOP 10 graczy w pewna gre. I ugrzęzłem. ma taki kod:

  1. <?php
  2. $user = 'xxx';
  3. $pass = 'yyy';
  4. $host = 'zzz';
  5. $dbname = 'Game3G';
  6. $dbh = new PDO ("dblib:host=$host;dbname=$dbname", "$user", "$pass");
  7. $n=1;
  8.  
  9. echo '<br />';
  10. echo '<table width=190 border=0 >
  11. <tr><td style="color:red" colspan=3 align=center><b>TOP 10 - Warrior</b></td>
  12. <tr><td>&nbsp;</td><td align=center>Nick</td><td align=center>Poziom</td>';
  13.  
  14. foreach ($dbh->query('SELECT FLD_LEVEL, FLD_jOB, FLD_CHARACTER from TBL_CHARACTER where FLD_LEVEL < 69 and FLD_jOB = 0 order by FLD_LEVEL desc') as $row)
  15. {
  16. echo '<tr>
  17. <td style="color:red">'.$n.'</td><td style="font-size:12px;"><b>'.$row['FLD_CHARACTER'].'</b></td><td align=center>'.$row['FLD_LEVEL'].'</td>
  18. </tr>
  19. ';
  20. $n++;
  21. if($n>=11) break;
  22. }
  23. echo '</table>';
  24. $dbh = null;
  25. ?>

podglad:
http://www.andriskos.pl/bazaOK.php

ale podane lewele graczy sa niezbyt dokładne bo bez procentu.Chciałbym tak np: '54 i 22%' ale co ja mogę nie znając PHP
Niezbędne dane znajdują się w tabeli TBL_ABILITY w kolumnach FLD_EXP oraz FLD_MAXEXP. Procent o który mi chodzi wyjdzie z działania FLD_EXP : FLD_MAXEXP * 100. Ale jak to połączyć z w/w działającym skryptem aby wyświetlało szczegółowy lvl to nie mam pojęcia. Po raz kolejny liczę na pomoc
Ulysess
hmm żeby obliczyć procenty potrzebujesz mieć ile potrzeba na każdy level
do obliczenia procentu zrobił bym tak:
przypisal do tablicy wartości ile expa trzeba na jaki level a % obliczył bym:

  1. $sto_procent = $table_exp[$dane_panel['level']-1] - $table_exp[$dane_panel['level']-2];
  2. $moj_exp = $dane_panel['experience'] - $table_exp[$dane_panel['level']-2];
  3. $procent = (($moj_exp*100)/$sto_procent);

gdzie $dane_panel['level'] postaci której właśnie obliczamy a tabela_exp to tablica w której znajduje się potrzebne doświadczenie na każdy level
czaczawik
ja wiedziałem że to się tak skończy smile.gif
Nie napisałem że moja znajomość php / sql jest na poziomie 0,5 %
Proszę zatem aby zmodyfikować skrypt który podałem na początku aby wyświetlał dokładny level postaci.
Wiem wiem, zapytacie 'może jeszcze frytki do tego?' Ale ja tak łaaaadnie proszę smile.gif


@UP
W w kolumnach FLD_EXP oraz FLD_MAXEXP jest właśnie zapisane to o czym mówisz czyli
FLD_EXP - obecny poziom gracza np 100
FLD_MAXEXP - poziom przy którym nastąpi przejście na następny lvl, np 300


czyli:
100 / 300 * 100 = 33,3
a to oznacza że jakiś tam user ma np lvl 55 i 33,3%
Ale jak to sklecić żeby działało? Proszę o gotowca.
Ulysess
ja nie pomogę bo ten kod który podałeś jest dla mnie dziwny/trudny..

zapraszam do nauki php/mysql ;p

jedynie mogę ci pomóc opisując jak to zrobić :
1 robisz zapytanie które pobierze te dane które podałeś np:
  1. $zapytanie['tresc'] = "SELECT `FLD_LEVEL`, `FLD_jOB`,`FLD_CHARACTER` FROM `TBL_CHARACTER` WHERE `FLD_LEVEL` < 69 AND `FLD_jOB` = 0 ORDER BY `FLD_LEVEL` DESC";
  2. $wykonano_zapytanie['tresc'] = mysql_query($zapytanie['tresc']) or die(mysql_error());
  3.  
  4. while($dane = mysql_fetch_assoc($wykonano_zapytanie['tresc']))
  5. {
  6. // działanie będzie takie że zacznie pobierać rekordy które spełniają Twój warunek , każde wywołanie pętli while spowoduje pobranie nowych danych.
  7. // chyba nie muszę mówić że w tym miejscu układasz proporcje która będzie to obliczać , podpowiem tylko że dane której pobierasz będą w postaci np $dane['FLD_LEVEL']
  8. // jeśli chcesz sobie wyświetlić to co pobiera może zrobić np echo $dane['FLD_LEVEL']; lub print_r($dane); różnica pomiędzy tymi 2 przykładami jest taka że 1 wyświetli tylko //wartości z pola(bazy danych) o nazwie FLD_LEVEL a 2 wyświetli wszystkie w postaci tablicy
  9. // DZIAŁAJ !! :)
  10. }
czaczawik
Cytat(Ulysess @ 17.10.2010, 14:29:47 ) *
zapraszam do nauki php/mysql ;



Nie czytałeś, ja nie mam potrzeby uczenia się php / sql . Tym bardziej nie rozumiem Twego postu.
Potrzebuje tylko tego małego skrypciku..... sad.gif HELP

@DOWN
Typowy Polak, pokaż ile masz w portfelu a może Ci pomogę.
kapuch
Cytat(czaczawik @ 17.10.2010, 15:19:44 ) *
Nie czytałeś, ja nie mam potrzeby uczenia się php / sql . Tym bardziej nie rozumiem Twego postu.
Potrzebuje tylko tego małego skrypciku..... sad.gif HELP

Ale to forum jest dla ludzi, ktorzy sie ucza i potrzebuja pomocy.
Jesli zas nie masz zamiaru sie uczyc, a potrzebujesz gotowca, to odpowiednim dzialem dla ciebie, jest dzial GIELDA OFERT.
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.