Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/JavaScript] If lub zmienna problem
Forum PHP.pl > Forum > Przedszkole
zicher
Witam

Mam taki oto formularz:

  1. <tr>
  2. <td width="200" class="pal"><div align="center">Wybierz Rodzaj Walki</div></td>
  3. <td width="200" class="pal"><div align="center">
  4. <select onchange="navi(this.value);" name="przeciwnik" class="blackb">
  5. <?
  6. $zapytanie = "SELECT * FROM rodzaj_walki ORDER BY e_order";
  7. $wynik = mysql_query($zapytanie);
  8. while($wiersz = mysql_fetch_array($wynik))
  9. {
  10. echo '<option value="'.$wiersz['rodzaj_walki_id'].'"';
  11. if ($wiersz['rodzaj_walki_id']==$_POST['rodzaj_walki_id']) echo " SELECTED ";
  12. echo '>'.$wiersz['rodzaj_walki_nazwa'].'</a>';
  13. }
  14. ?>
  15. </select></div></td>
  16. </tr>


poprzedzony oczywiscie czescia javascriptu w headzie:

Kod
<script>

function navi(gdzie)
{
if (gdzie != 0) {
document.location.href = "gilthariondodaj3.php?rodzaj=" + gdzie;
}
}

</script>


I to dziala. W zaleznosci od wybranego rodzaju walki strona przeladowuje sie i pokazuje odpowiednie id w linku np: gilthariondodaj3.php?rodzaj=12

kolejna rzecza, ktora zrobilem jest taka oto konstrukcja:

  1. <?php
  2. $_GET['gdzie'] = $gdzie;
  3. if(!isset($gdzie)){$gdzie = 1;}
  4. if($gdzie == 2)
  5. {
  6. include('giltharion2przeciwnikow.php');
  7. echo '<font class="pal">'.$gdzie.'</font>';
  8. }
  9. if($gdzie == 1)
  10. {
  11. include('giltharion1przeciwnik.php');
  12. echo '<font class="pal">'.$gdzie.'</font>';
  13. }
  14. if($gdzie == 3)
  15. {
  16. include('giltharion3przeciwnikow.php');
  17. echo '<font class="pal">'.$gdzie.'</font>';
  18. }
  19.  
  20.  
  21. ?>


Chodzi o to, ze w drugiej czesci tabeli po wybraniu rodzaju walki laduje sie odpowiednia ilosc formularzy z odpowiednmi insertami do bazy danych.

Niestety ta czesc kodu
  1. <?php
  2. echo '<font class="pal">'.$gdzie.'</font>';
  3. ?>
ciagle pokazuje jeden jakby w ogole nie lapal geta i oczywiscie wykonuje wylacznie include dla gdzie rownego 1. Czy ktos moze mi powiedziec dlaczego gdzie nie jest lapane przez geta?

Drugie pytanie dotyczy ifa. Jak uzaleznic ifa od kilku id?:
1. if($gdzie == 3, $gdzie == 43)?
2. if($gdzie == 3 OR $gdzie == 43)?
a moze tak:
3. if($gdzie == 3 AND $gdzie == 43)?

Serdecznie dziekuje za odpowiedz

Z powazaniem
zicher
siemakuba
jezeli dobrze zrozumialem twoj kod, to problem lezy tu:

  1. <?php
  2. $_GET['gdzie'] = $gdzie;
  3. ?>


po pierwsze, odwrotnie przypisujesz zmienna, po drugie, nie taka jak potrzeba.
z tego kawałka:

  1. document.location.href = "gilthariondodaj3.php?rodzaj=" + gdzie;


wynika, ze powinno to byc tak:

  1. <?php
  2. $gdzie = $_GET['rodzaj'];
  3. ?>



Cytat
Drugie pytanie dotyczy ifa. Jak uzaleznic ifa od kilku id?


  1. <?php
  2.  
  3. if ($id == 1 || $id == 2 || $id == 3)
  4. {
  5. }
  6.  
  7. ?>


jezeli masz tych id sporo, warto zebrac je w tablice i sprawdzac w warunku obecnosc konkretnego ID w tablicy:

  1. <?php
  2.  
  3. $acceptIDs = array(1,2,5,23,32,123,654,12,456);
  4.  
  5. if (in_array($id, $acceptIDs))
  6. {
  7. }
  8.  
  9. ?>


vide: in_array" title="Zobacz w manualu php" target="_manual, Operatory Logiczne
zicher
Witam ponownie

Kurcze rzeczywiscie siedzialem nad tym prawie 1h i nie zauwazylem, ze dalem tam rodzaj sad.gif

Wielkie dzieki za pomoc

Z powazaniem
zicher
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.