Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przesuwanie mapy- problem[załatwione]
Forum PHP.pl > Forum > PHP
miccom
Witam serdecznie.
Mam problem i nie wiem jak go ugryźć.

Chcę pokazać userom kursory na mapie do przesuwania mapy (z 1 mapy w prawo na drugą, w dół na 11 itd)

I nie wiem w jaki kod ubrać pokazywanie odpowiednich strzałek.
nr mapy mam jako zmienną $nr przesyłaną metodą $_GET;

Próbowałem coś takiego:
  1. <a href="mapa.php?nr=<?php echo $nr-12;?>"><img src="../images/strzalka_do_gory.gif" style="z-index:2; position: absolute; top:370px; left:550px;"/></a>
  2. <a href="mapa.php?nr=<?php echo $nr-1;?>"><img src="../images/strzalka_w_lewo.gif" style="z-index:2; position: absolute; top:650px; left:270px;"/></a>
  3. <a href="mapa.php?nr=<?php echo $nr+1;?>"><img src="../images/strzalka_w_prawo.gif" style="z-index:2; position: absolute; top:650px; left:790px;"/></a>
  4. <a href="mapa.php?nr=<?php echo $nr+12;?>"><img src="../images/strzalka_w_dol.gif" style="z-index:2; position: absolute; top:950px; left:550px;"/></a>

i działa fajnie, ale zbiorcza mapa ma w sobie 12x12 mapek, i jak user dojedzie do 12 mapki to nadal pokażą mu się strzałki do góry, w lewo , w prawo i w dół. A ja chciałbym aby już się do 13 mapy nie pokazywała strzałka w prawo!
Jak to zablokować?
Proszę i dziękuję za odpowiedzi.
Lejto
napisać instrukcje if?
miccom
No tak próbowałem. Ale coś nie działa;/

robiłem tak:
  1. <?php
  2. if($nr<=0){
  3. nie pokazuję strzałki
  4. }else if($nr==1){
  5. pokazuję strzałkę w dół i w prawo
  6. }else if($nr==(2 OR 3 OR 4 OR 5 OR 6 OR 7 OR 8 OR 9 OR 10 OR 11)){
  7. pokazuję strzałki w dół, w prawo i w lewo
  8. ]else if($nr==(12 OR 24 OR 36 OR 48 OR 60 OR 72 OR 84 OR 96 OR 108 OR 120 OR 132)){
  9. pokazuję strzałki w górę , w lewo i w dół
  10. }else if($nr==133){
  11. pokazuje strzałki w górę i w prawo
  12. }else if($nr==(134 OR 135 OR 136 OR137 OR 138 OR 139 OR 140 OR 141 OR 142 OR 143)){
  13. pokazuję strzałki w górę, w lewo i w prawo
  14. }else if($nr==144){
  15. pokazuję strzałki w lewo i w górę
  16. ]else if($nr>144){
  17. nie pokazuję żadnej strzałki
  18. }else{
  19. pokazuję strzałki w lewo, w prawo, w dół, w górę
  20. }
  21. ?>

Ale nie działa. Nie wiem czy dobrze zastosowałem ifa.
kirex
a tak nie możesz:

Kod
<?php
if($nr<=0){
     nie pokazuję strzałki
} else if($nr==1){
     pokazuję strzałkę w dół i w prawo
} else if($nr >= 2 && $nr <= 11){
     pokazuję strzałki w dół, w prawo i w lewo
} else if($nr <= 132 && !($nr % 12)){
     pokazuję strzałki w górę , w lewo i w dół
} else if($nr == 133){
     pokazuje strzałki w górę i w prawo
} else if($nr >= 134 && $nr <= 143){
     pokazuję strzałki w górę, w lewo i w prawo
} else if($nr == 144){
     pokazuję strzałki w lewo i w górę
} else if($nr > 144){
     nie pokazuję żadnej strzałki
} else{
     pokazuję strzałki w lewo, w prawo, w dół, w górę
}
?>
sowiq
  1. <?php
  2. if($nr==(12 OR 24 OR 36 OR 48 OR 60 OR 72 OR 84 OR 96 OR 108 OR 120 OR 132))
  3. ?>
Co to w ogóle jest? Taki zapis nie ma racji bytu. A już na pewno nie zadziała tak, jak to założyłeś.
Odsyłam do byle jakiego podstawowego kursu PHP.
miccom
Kirex, działa ale nie działają ograniczenia po lewej stronie mapy.
Dodałem taki warunek:
  1. <?php
  2. } else if(($nr == 37) OR ($nr == 49) OR ($nr == 61) OR ($nr == 73) OR ($nr == 85) OR ($nr == 97) OR ($nr == 109) OR ($nr == 121)){
  3.    echo " pokazuję strzałki w prawo w dół i w górę";
  4. ?>

Może nie fachowo ale działa pięknie.

P.S
Widzę ze sowiq już w przedszkolu kodował w php a wiedzę php wyssał z mlekiem matki i nigdy się nie uczył.

Dziękuję za pomoc.
sowiq
Cytat(miccom @ 5.05.2009, 19:04:00 ) *
Widzę ze sowiq już w przedszkolu kodował w php a wiedzę php wyssał z mlekiem matki i nigdy się nie uczył.
Skądże znowu. Tylko wolałem najpierw ogarnąć jakieś podstawy czytając kilka kursów PHP, a dopiero później zadawać pytania. Zresztą logiki matematycznej uczą bodajże w gimnazjum już.
A uczę się cały czas.

Pozdrawiam.
impimp94
Wiem dla czego ci nie działa
pogrubiłem błąd.
Błędem jest " ] " w 17 lini
[quote name='miccom' date='5.05.2009, 17:53:37 ' post='604568']
robiłem tak:
  1. <?php
  2. if($nr<=0){
  3. nie pokazuję strzałki
  4. }else if($nr==1){
  5. pokazuję strzałkę w dół i w prawo
  6. }else if($nr==(2 OR 3 OR 4 OR 5 OR 6 OR 7 OR 8 OR 9 OR 10 OR 11)){
  7. pokazuję strzałki w dół, w prawo i w lewo
  8. ]else if($nr==(12 OR 24 OR 36 OR 48 OR 60 OR 72 OR 84 OR 96 OR 108 OR 120 OR 132)){
  9. pokazuję strzałki w górę , w lewo i w dół
  10. }else if($nr==133){
  11. pokazuje strzałki w górę i w prawo
  12. }else if($nr==(134 OR 135 OR 136 OR137 OR 138 OR 139 OR 140 OR 141 OR 142 OR 143)){
  13. pokazuję strzałki w górę, w lewo i w prawo
  14. }else if($nr==144){
  15. pokazuję strzałki w lewo i w górę
  16. [b]][/b]else if($nr>144){
  17. nie pokazuję żadnej strzałki
  18. }else{
  19. pokazuję strzałki w lewo, w prawo, w dół, w górę
  20. }
  21. ?>
ndx
A nie lepiej byłoby to napisać np. w taki sposób:

  1. <?php
  2. if (in_array($nr, array(37,49,61,73,85,97,109,121))) {
  3. ?>
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.