Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] nawigacja
Chemiq
post
Post #1





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 16.07.2006

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


mam kod nawigacji. jest już niby zrobiony ale nie działa tak jak trzeba. mogę sięporuszać tylko w prawo i w dół. nie działają przyciski w lewo i do góry a nie mam pojęcia dlaczego. może przeoczyłem jakiś znak? sprawdzałem kod kilka razy czy wszystko się zgadza i nie znalazłem. może ktoś inny znajdzie błąd.

jeszcze jedno co do kodu. zmienne: $gora, $dol, $prawa i $lewa są odczytywane co sprawdzałem poleceniami echo na końcu kodu.

oto on:
  1. <? // "las.php"
  2. include ("sprawdzdostep.php");
  3.  
  4. $zapytanie = "SELECT * FROM `uzytkownik` WHERE login = '$login' AND haslo = '$haslo'";
  5. $wykonaj = mysql_query($zapytanie);
  6. while ($wiersz = mysql_fetch_array($wykonaj)) {
  7. $x = $wiersz[x];
  8. $y = $wiersz[y];
  9. }
  10.  
  11. echo ("<font class='tekst'>Witaj w lesie. Mozesz wykonac tu questy oraz znalezc rózne cenne rzeczy.</font>");
  12.  
  13. include ("las/chodz.php");
  14.  
  15. echo ("
  16. <table style='width: 70px; height: 50px; margin: 0px 12px 0px auto'>
  17. <tr style='height: 11px'><td style='text-align: center' colspan='3'>
  18.  <form method='post' action='index.php?id=20'>
  19. <input type='hidden' value='1' name='nawigacja_gora' />
  20. <input type='image' src='img/nawigacja/strz_gora.gif' />
  21. </form><br />
  22. </td></tr>
  23. <tr style='height: 25px; vertical-align: center'><td style='width: 11px; text-align: left'>
  24.  <form method='post' action='index.php?id=20'>
  25. <input type='hidden' value='1' name='nawigacja_lewa' />
  26. <input type='image' src='img/nawigacja/strz_lewo.gif' />
  27. </form><br />
  28. </td><td><font class='tekst'><b>"
  29.  . $x . "/" . $y . "</b></font><br />
  30. </td><td style='width: 11px; text-align: left'>
  31.  <form method='post' action='index.php?id=20'>
  32. <input type='hidden' value='1' name='nawigacja_prawa' />
  33. <input type='image' src='img/nawigacja/strz_prawo.gif' />
  34. </form><br />
  35. </td></tr>
  36. <tr style='height: 11px'><td style='width: 50px; text-align: center' colspan='3'>
  37.  <form method='post' action='index.php?id=20'>
  38. <input type='hidden' value='1' name='nawigacja_dol' />
  39. <input type='image' src='img/nawigacja/strz_dol.gif' />
  40. </form><br />
  41. </td></tr>
  42. </table>");
  43.  
  44. $nawigacja_gora = $_POST['nawigacja_gora'];
  45. $gora = $y + $nawigacja_gora;
  46. $up_gora = "UPDATE `uzytkownik` SET y = '$gora' WHERE login = '$login' AND haslo = '$haslo'";
  47. $wyk_gora = mysql_query($up_gora);
  48.  
  49. $nawigacja_lewa = $_POST['nawigacja_lewa'];
  50. $lewa = $x - $nawigacja_lewa;
  51. $up_lewa = "UPDATE `uzytkownik` SET x = '$lewa' WHERE login = '$login' AND haslo = '$haslo'";
  52. $wyk_lewa = mysql_query($up_lewa);
  53.  
  54. $nawigacja_prawa = $_POST['nawigacja_prawa'];
  55. $prawa = $x + $nawigacja_prawa;
  56. $up_prawa = "UPDATE `uzytkownik` SET x = '$prawa' WHERE login = '$login' AND haslo = '$haslo'";
  57. $wyk_prawa = mysql_query($up_prawa);
  58.  
  59. $nawigacja_dol = $_POST['nawigacja_dol'];
  60. $dol = $y - $nawigacja_dol;
  61. $up_dol = "UPDATE `uzytkownik` SET y = '$dol' WHERE login = '$login' AND haslo = '$haslo'";
  62. $wyk_dol = mysql_query($up_dol);
  63.  
  64. // polecenia echo (wszystkie zmienne są poprawnie odczytywane również po kliknięciu na przycis
    kach poruszania)
  65. echo ("Gora: ".$gora);
  66. echo ("<br>Dol: ".$dol);
  67. echo ("<br>Lewo: ".$lewa);
  68. echo ("<br>Prawo: ".$prawa);
  69. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Ja_Szczur
post
Post #2





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 4.12.2005
Skąd: Strzyżów

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


czy mi się wydaje, czy Ty za każdym razem robisz 4 UPDATE'y?
nie lepiej zrobić to switch'em ?

  1. <form ...>
  2. <input type="hidden" name="nawigacja" value="gora" />
  3. <input type="hidden" name="x" value="$x" />
  4. <input type="hidden" name="y" value="$y" />
  5. <input type="image" ...>
  6. </form>
  7.  
  8. <form ...>
  9. <input type="hidden" name="nawigacja" value="dol" />
  10. <input type="hidden" name="x" value="$x" />
  11. <input type="hidden" name="y" value="$y" />
  12. <input type="image" ...>
  13. </form>


  1. <?php
  2. switch( $_POST['nawigacja'] )
  3. {
  4.  case 'gora':
  5. $x = $_POST['x'];
  6. $y = $_POST['y'] - 1;
  7. // zapis w sql'u
  8.  
  9.  case 'dol':
  10. $x = $_POST['x'];
  11. $y = $_POST['y'] + 1;
  12. // zapis w sql'u
  13.  
  14. ...
  15. }
  16. ?>


gdyby dodać JavaScript, byłoby jeszcze lepiej...

----
fakt, być może nie działa, bo nie dałem brake'ów

Ten post edytował Ja_Szczur 24.07.2006, 11:09:47
Go to the top of the page
+Quote Post
Chemiq
post
Post #3





Grupa: Zarejestrowani
Postów: 105
Pomógł: 0
Dołączył: 16.07.2006

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


dobry pomysł. zaraz sprawdzę czy działa


tak jak mi podałeś to nie działa. ale co do switcha to był dobry pomysł. zastosowałem go inaczej niż pokazałeś i działa jak należy.

oto aktualny kod:
  1. <? // "las.php"
  2. include ("sprawdzdostep.php");
  3.  
  4. $zapytanie = "SELECT * FROM `uzytkownik` WHERE login = '$login' AND haslo = '$haslo'";
  5. $wykonaj = mysql_query($zapytanie);
  6. while ($wiersz = mysql_fetch_array($wykonaj)) {
  7. $x = $wiersz[x];
  8. $y = $wiersz[y];
  9. }
  10.  
  11. echo ("<font class='tekst'>Witaj w lesie. Mozesz wykonac tu questy oraz znalezc rózne cenne rzeczy.");
  12. include ("las/chodz.php");
  13. echo ("
  14. <table border='1' style='width: 70px; height: 20px;'>
  15. <tr style='height: 10px'><td style='text-align: center' colspan='3'>
  16.  <form method='post' action='index.php?id=20'>
  17. <input type='hidden' value='1' name='nawigacja' />
  18. <input type='image' src='img/nawigacja/strz_gora.gif' />
  19. </form>
  20. </td></tr>
  21. <tr style='height: 10px; vertical-align: center'><td style='width: 11px; text-align: left'>
  22.  <form method='post' action='index.php?id=20'>
  23.  <input type='hidden' value='2' name='nawigacja' />
  24. <input type='image' src='img/nawigacja/strz_lewo.gif' />
  25. </form>
  26. </td><td><font class='tekst'><b>"
  27.  . $x . "/" . $y . "</b></font>
  28. </td><td style='width: 10px; text-align: left'>
  29.  <form method='post' action='index.php?id=20'>
  30.  <input type='hidden' value='3' name='nawigacja' />
  31. <input type='image' src='img/nawigacja/strz_prawo.gif' />
  32. </form>
  33. </td></tr>
  34. <tr style='height: 10px'><td style='text-align: center' colspan='3'>
  35.  <form method='post' action='index.php?id=20'>  
  36. <input type='hidden' value='4' name='nawigacja' />
  37. <input type='image' src='img/nawigacja/strz_dol.gif' />
  38. </form>
  39. </td></tr>
  40. </table>");
  41.  
  42. switch ($_POST['nawigacja']) {
  43.  
  44. case 1:
  45. $gora = $y + 1;
  46. $up_gora = "UPDATE `uzytkownik` SET y = '$gora' WHERE login = '$login' AND haslo = '$haslo'";
  47. $wyk_gora = mysql_query($up_gora);
  48. break;
  49.  
  50. case 2:
  51. $lewa = $x - 1;
  52. $up_lewa = "UPDATE `uzytkownik` SET x = '$lewa' WHERE login = '$login' AND haslo = '$haslo'";
  53. $wyk_lewa = mysql_query($up_lewa);
  54. break;
  55.  
  56. case 3:
  57. $prawa = $x + 1;
  58. $up_prawa = "UPDATE `uzytkownik` SET x = '$prawa' WHERE login = '$login' AND haslo = '$haslo'";
  59. $wyk_prawa = mysql_query($up_prawa);
  60. break;
  61.  
  62. case 4:
  63. $dol = $y - 1;
  64. $up_dol = "UPDATE `uzytkownik` SET y = '$dol' WHERE login = '$login' AND haslo = '$haslo'";
  65. $wyk_dol = mysql_query($up_dol);
  66. break;
  67.  
  68. }
  69. ?>


dzięki za pomysł

Ten post edytował Chemiq 24.07.2006, 10:57:43
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 22:05