Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt + pobieranie z bazy danych
Forum PHP.pl > Forum > Bazy danych > MySQL
lucardo
Witam!

Próbuję zrobić kalkulatorek, ktory pokazywałby ile jeszcze potworków trzeba w grze zabic(zdobyc przez to punktow), aby awansować na następny level, podzieliłem to sobie na 2 części: ustalenie obecnego levela na podstawie podanych w formularzu obecnych punktow i zamianę ich na ilość potworkow do zabicia. 2 częsć już mam, jednak z 1 mam problem:

Stworzyłem tabelę "calc_level" która zawiera pole : level oraz exppoint np.:

0 || 0
1 || 0
2 || 100
3 || 200
4 || 500
5 || 1200

itd..........

Problem zaczyna się właśnie tu, do tej pory nie operowałem na bazie danych , a aktualny level uzyskiwałem z tabeli:

i=0;
j=2;

petla wykonywana np 100 razy{
warunek : jeżeli podany exp > tabela[i] oraz exp< tabela[j]
to wtedy brake; a level to był i+1 (albo j-1)
w przeciwnym wypadku i++; j++;
}

Niestety nie znam sie na bazach danych, wiec nie wiem jak wyciągac z nich dane ;\

Bardzo wszystkich prosze o możliwie jak najkrotszą odpowiedź.

Pozdrawiam!!
eS...
jezeli nie znasz sie na bazach to poczytaj
http://dev.mysql.com/doc
a potem
http://php.net (mysql_query,mysql_fetch_array....)
I poradzisz sobie
lucardo
a moglby ktos podac kod tongue.gif plz
eS...
nic nie rozumiem co chcesz wyciagnac ale ogolna idea wyglada tak
wyciaganie danych z level exppoint
  1. <?php
  2. $sql=mysql_query("select * from calc_level")or die(mysql_error());
  3. while($row=mysql_fetch_array($sql)){
  4. echo $row["level"]." - ".$row["exppoint"]."<br />";
  5. }
  6. ?>

mam nadzieje ze z baza danych umiesz sie polaczyc, jesli nie sprawdz http://php.net/mysql_connect i http://php.net/mysql_query
lucardo
Dobra pokaze jak ja to chcialem zrobic, nie przerazcie sie tylko tongue.gif

  1. <?php
  2.  
  3. @mysql_connect("localhost", "xxxxxxxxxx","" );
  4. @mysql_select_db(xxxxxxxx);
  5.  
  6.  
  7.  
  8. $i=0;
  9. $j=2;
  10. $j=1;
  11. $c=0;
  12.  
  13. for ($c=; $c<=100 ; $c++ )
  14. {$resulti = mysql_query("SELECT exppoint FROM calc_level WHERE level='$i'");
  15. $resultj = mysql_query("SELECT exppoint FROM calc_level WHERE level='$j'");
  16. $resultk = mysql_query("SELECT exppoint FROM calc_level WHERE level='$k'");
  17. $ri = mysql_fetch_array($resulti);
  18. $rj = mysql_fetch_array($resultj);
  19. $rk = mysql_fetch_array($resultk);
  20. $leveli = $ri['exppoint'];
  21. $levelj = $rj['exppoint'];
  22. $levelj = $rk['exppoint'];
  23. if ($exp>$$leveli && $exp<$levelj)
  24. {
  25. break;
  26. }
  27. else 
  28. { 
  29. $j=$j+1;
  30. $i=$i+1;
  31. $k=$k+1;
  32. }
  33. }
  34.  
  35. $level=$leveli+1;
  36.  
  37. ?>
spenalzo
Jeżeli dobrze zrozumiałem, to powiedzmy że ktos w formularzu wpisuje wartosc expa 12345 i ma znaleźć jaki odpowiada temu level? Jeżeli tak to:
  1. SELECT *
  2. FROM tabela
  3. WHERE exppoint<'12345' ORDER BY level DESC LIMIT 1
lucardo
aha bardzo fajnie, czyli wyszuka tylko 1 rekord ? a czy jako '12345' moge dac zmienna czyli np $exp ?

======================

A wtedy jak zapisać do zmiennej wartość sąsiedniego pola "level", bo teraz znajduje wiersz po liczbie podanej w formularzu.

Czekam na odp. ;]
spenalzo
Ke? tongue.gif

Nie rozumiem kompletnie o co ci chodzi....
lucardo
Dobra nie musicie juz, bardzo mi pomogliscie mam to co chcialem miec. winksmiley.jpg no i przy okazji sie troche nauczylem ;D teraz tylko wrzucic pelna liste potworków do bazy. Mozna zamknac temat winksmiley.jpg
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-2024 Invision Power Services, Inc.