Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyświetlanie rekordów z bazy
Enderlanas
post
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 18.04.2010

Ostrzeżenie: (10%)
X----


Witam... Mam nie lada problem... Otóż posiadam taki kod, który jest odpowiedzialny za wyświetlanie naszej postaci, i generowanie mapy z pliku z tablicą. Oto kod tego pliku:

  1. <?php
  2.  
  3.  
  4. if (isset($_SESSION['user_id']) and isset($_SESSION['login']))
  5.  
  6. {
  7.  
  8. $login = $_SESSION['login'];
  9.  
  10. /**
  11.  * Plik generujacy mape na podstawie wczesniej przygotowanej tablicy.
  12.  */
  13.  
  14. // Zalaczanie pliku z polaczeniam do bazy
  15. include('conn.php');
  16.  
  17. // Zalaczane tablicy
  18. include('genmapfile.php');
  19.  
  20. /**
  21.  * Pobiera wspolrzedne gracza o ID podanym jako parametr
  22.  *
  23.  * @author: Meares (http://mearesligitharr.blogspot.com/)
  24.  * @name: GetYXForPlayer
  25.  * @param: integer $ID
  26.  * @return: array
  27.  */
  28. function GetYXForPlayer($login) {
  29. $Query = mysql_query("SELECT y, x FROM user WHERE login='$login'") or die(mysql_error());
  30. $Fetched = mysql_fetch_assoc($Query);
  31. return $Fetched;
  32. }
  33.  
  34. // Zdobycie wspolrzednych gracza
  35. $YX = GetYXForPlayer($login);
  36.  
  37. if(isset($_GET['y']) || isset($_GET['x'])) {
  38. // Zmiana miejsca gracza
  39. if(($YX['y'] + 1 == $_GET['y'] || $YX['y'] - 1 == $_GET['y'] || $YX['y'] == $_GET['y']) && ($YX['x'] + 1 == $_GET['x'] || $YX['x'] - 1 == $_GET['x'] || $YX['x'] == $_GET['x']) && $Map[$_GET['y']][$_GET['x']]['CanBeOn'] === true) {
  40. mysql_query("UPDATE `user` SET `y`=".$_GET['y'].", `x`=".$_GET['x']." WHERE `login`='$login'");
  41. } else {
  42. echo 'Cheater!';
  43. }
  44. }
  45.  
  46. // Zdobycie aktualnych wspolrzednych gracza
  47. $YX = GetYXForPlayer($login);
  48.  
  49. // Generowanie
  50. // $Key zawiera wspolrzedna Y
  51. foreach($Map as $Key => $Value) {
  52. // $Key2 zawiera wspolrzedna X, a $Value2 to tablica zawierajaca informacje o podlozu oraz o tym czy na dane pole mozna wejsc
  53. foreach($Value as $Key2 => $Value2) {
  54. $EchoString[0] = '<span style="position: relative; left: 1px; z-index: 1;"><img src="images/'.$Value2['Image'].'" alt="MapElement" style="width: 32px; height: 32px;" /></span>';
  55. // Jesli mozna wejsc na pole
  56. if($Value2['CanBeOn'] === true) {
  57. // Generowanie "strzaleczek"
  58. if($Key - 1 == $YX['y'] && $Key2 == $YX['x']) {
  59. $EchoString[1] = '<span style="position: relative; left: 0px; z-index: 2;"><a href="index.php?y='.$Key.'&x='.$Key2.'"><img src="images/arrow_down.png" alt="Go!" style="position: absolute; right: 0px; width: 32px; height: 32px;border: 0; " /></a></span>';
  60. } else if($Key + 1 == $YX['y'] && $Key2 == $YX['x']) {
  61. $EchoString[1] = '<span style="position: relative; left: 0px; z-index: 2;"><a href="index.php?y='.$Key.'&x='.$Key2.'"><img src="images/arrow_up.png" alt="Go!" style="position: absolute; right: 0px; width: 32px; height: 32px; border: 0; " /></a></span>';
  62. } else if($Key2 - 1 == $YX['x'] && $Key == $YX['y']) {
  63. $EchoString[1] = '<span style="position: relative; left: 0px; z-index: 2;"><a href="index.php?y='.$Key.'&x='.$Key2.'"><img src="images/arrow_right.png" alt="Go!" style="position: absolute; right: 0px; width: 32px; height: 32px; border: 0; " /></a></span>';
  64. } else if($Key2 + 1 == $YX['x'] && $Key == $YX['y']) {
  65. $EchoString[1] = '<span style="position: relative; left: 0px; z-index: 2;"><a href="index.php?y='.$Key.'&x='.$Key2.'"><img src="images/arrow_left.png" alt="Go!" style="position: absolute; right: 0px; width: 32px; height: 32px; border: 0; " /></a></span>';
  66. } else if($Key == $YX['y'] && $Key2 == $YX['x']) {
  67. $EchoString[1] = '<span style="position: relative; left: 0px; z-index: 2;"><img src="images/character.png" alt="Character" style="position: absolute; right: 0px; width: 32px; height: 32px;" /></span>';
  68. } else {
  69. $EchoString[1] = '';
  70. }
  71. } else {
  72. $EchoString[1] = '';
  73. }
  74. echo implode('', $EchoString);
  75. }
  76. echo '<br />';
  77. }
  78.  
  79. }
  80.  
  81. else
  82.  
  83. {
  84.  
  85. echo "Nie jestes zalogowany";
  86.  
  87.  
  88.  
  89. }


Dodam, że zrobiłem do tego skryptu logowanie, rejestrację, itd... Normalnie działa rejestracja, robi konta, zalogować też się da... Po wykonanym kroku zmienia pole w bazie danych. A co do bazy danych, to mam w niej tabelę "user" a w niej pola "id", "login", "password", "x", y". Id to po prostu id użytkownika, login to nazwa konta, password to hasło do konta, x i y to współrzędne, które określają pozycję na mapie. I tutaj mam problem, ponieważ w tym skrypcie wyświetla tylko moją postać. A jak mam zrobić, żeby wyświetlało wszystkie postacie z bazy? Chodzi mi o to, żebym widział swoją postać, oraz innych graczy na mapie. Jeśli by ktoś mi mógł podsunąć chociaż pomysł, jak to zrobić, albo jakieś linki do tutoriali, czy tam kody źródłowe... Byłbym wdzięczny. I ta osoba byłaby w creditsach gry ;D

Aha, i bym zapomniał. Oto demo do tej gry, tak to wygląda:
http://endoria.za.pl/test/login.php

Pozdrawiam winksmiley.jpg
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


lol:)
Go to the top of the page
+Quote Post
pedro84
post
Post #3





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Przysiągłbym, że taki temat już widziałem. Czyżby multikonto? smile.gif


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
tehaha
post
Post #4





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


co Ty to przypadek, ale Enderlanas koniecznie zagadaj z Artheso on też tego szuka może razem jakoś to rozgryziecie w końcu co dwie głowy to nie jedna...
Go to the top of the page
+Quote Post
blooregard
post
Post #5


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Za multikonto oraz kolejny crossposting zamykam Ci wszystkie tematy oraz dostajesz warna.
Jak jeszcze raz założysz taki sam temat, otrzymasz też bana na oba konta: Enderlanas i Artheso.


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post

Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 06:39