Autor Zpráva
Axamith
Profil
Potřeboval bych při splnění podmínky
$key
definovat více proměnných. Při splnění podmínky se mi definuje hodnota
$dis5
nebo
$dis6
. Nedaří se mi docílit stavu, že pokud je podmínka splěna, aby došlo k vytvoření dvou a více proměnných. např.
$dis6
$dis7
$dis8
. . .
<?php
// alfa key
if ($key == 11)
 $dis5 = " ";
else
if ($key == 10)
 $dis5 = " ";  
else
if ($key == 01)
 $dis5 = "disabled"; 
else
 if ($key == 00)
  $dis5 = "disabled";  
// num key
if ($key == 11)
 $dis6 = " "; 
else
if ($key == 10)
 $dis6 = "disabled";  
else
if ($key == 01)
 $dis6 = " "; 
else
if ($key == 00)
 $dis6 = "disabled";  
?>   

Děkuji za radu.
Tayger
Profil *
Možná se zeptám blbě, ale proč zdvojuješ podmínky pro nastavování dvo porměných?
Radek9
Profil
Axamith:
Existuje taková hezká pomůcka:
1) Složené závorky
2) Dvojtečka a endif;

…
if($key==11){
  $dis5 = " ";
  $dis6 = " ";
}
…
…
if($key==11):
  $dis5 = " ";
  $dis6 = " ";
endif;
…
Nox
Profil
01 má znamenat oktalové číslo? Tipoval bych že ne...

Číslování proměnných... co pole?
blaaablaaa
Profil
A taky existuje switch:
switch($key) {
  case 00 : {  //ses si jisty, ze 00, a ne "00"?
    $dis5 = "disabled";  
    $dis6 = "disabled"; 
    break;
  }
  case 01 : {
    $dis5 = "disabled";  
    $dis6 = " "; 
    break;
  }
  case 10 : {
    $dis5 = " ";  
    $dis6 = "disabled"; 
    break;
  }
  case 11 : {
    $dis5 = " ";  
    $dis6 = " "; 
    break;
  }
}

Pripadne overovat pres substr nebo logicky soucin
Axamith
Profil
Trochu to rozšířím. V HTML definuji dvojcifernou proměnnou $key. Výše uvedený script podle hodnoty čísla přiřadí k proměnné hodnotu " " nebo "disabled". Dále v kódu určuji u formulářů, co bude enabled a co disabled pomocí zápisu
<?php echo $dis5; ?>
Tato část formulářů je pro všechny stránky ( cca 50 ) stejná, jenom ji někde deaktivuji pomocí zmiňované proměnné $key. A potřeboval bych na základě hodnoty dvojčíslí vytvořit ještě další proměnné, které by se chovaly podobně. Snad je to k pochopení.
Nox
Profil
Ona ale není dvouciferná... ani v matematice není 01 dvouciferné číslo, protože je to prostě 1. V řadě jazyků (včetně PHP) se čísla začínající 0 berou jako oktalová, tedy jako v osmičkové soustavě... takže navíc střídáš desítkový a oktalový čísla

Použij prostě místo 00-11 tak 0-3 nebo pole
Axamith
Profil
Radek9: Tohle jsem hledal. Děkuji
Nox: Děkuji za objasnění, upravím to. Script sice funguje, ale není dobré se naučit špatné návyky. Jednou by se to mohlo vymstít.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: