Autor Zpráva
halogame
Profil
mám problém:
dělám onlineovku.
na stránce mám script, který zajistí, že se počet vlastních jednotek každého sektoru zobrazí v tabulce, ale takhle se jich tam musí zobrazit několik najednou. to je v pohodě.ale:
sektorů je více a mám vytvořen SESSION, ve kterém je číslo sektoru (např. 4) - $_SESSION[sektor]
potřebuji vytvořit funkční příkaz '$4_army[unsc_shotgun], jehož číslo (4) by bylo závislé na obsahu $_SESSION
napadlo mě spojit $ + $_SESSION[sektor] + _army; v takovémhle tvaru: "$".$_SESSION[sektor]."_army";
potom když dám zkušebně zobrazit výsledek, zobrazí mi to správně '$4_army', což je proměnná, za kterou je, co se z dané tabulky vybere.
jenže problém je tady: zobrazí mi to tam jen '$', ale žádné číslo, což je špatně
šlo by to vytvořit nějakou funkcí se spojovníky . , nebo nějak jinak??
jde jen o to, aby se u '$4_army[unsc_shotgun]' mohlo měnit to číslo, v závislosti na obsahu $_SESSION ( do se vkládá pomocí formuláře, ale to je vedlejší)
a konečná '$4_army[unsc_shotgun]' s proměnným číslem zobrazí z mysql databáze počet jednotek daného čísla sektoru
BaTeCzKo
Profil
No... nevim jestli jsem to pochopil spravne. Ty chces slozit nazev promenne a pak s ni pracovat? Mozna takto:

$_SESSION['sektor']=8;
eval("$".$_SESSION['sektor']."_army=10;"); //definuje promennou $8_army jako 10
echo $8_army; //vypise 10


Vice info o fci eval zde: http://php.net/eval
Aleš Janda
Profil
Proměnná by neměla začínat na číslo.. Nebo alespoň v drtivé většině jazyků to tak platí (a o identifikátorech obecně taky), v PHP je to tuším stejně. S proměnnou $8_army bys tedy mohl mít problém..
djlj
Profil
Jo, v php nesmí proměnná začínat číslem. Dej si to číslo na konec.
halogame
Profil
tak jo, čislo je na konci - army_5 ...
halogame
Profil
hej lidi, ja sem na to přišel, a uplně jednoduše:
ten php kód je takový univerzál, slouží k zobrazení všech 11 typů a ještě typů cizí rasy, jednoduchej univerzál


$ddd = mysql_query("select * from army_".$_SESSION[sektor]." where nick='$_SESSION[login]'");
$army_sektor = mysql_fetch_array($ddd);


a v $army_sektor je uložen počet jednotek, takže pomocí echo $army_sektor zobrazí počet jednotek v sektoru a dál.
halogame
Profil
ale stejně dík za rady

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: