Autor Zpráva
Brett
Profil *
Budu mít 18 různých textů, které bych potřeboval pevně zobrazovat k výpisům z mySQL, například za pomocí čísla ID.

Pro lepší příklad uvádím výpis:
if ($id == 1) $text_1 = "Vypíše text č.1";
.....
if ($id == 18) $text_18 = "Vypíše text č.18";

if ($id == 19) $text_1 = "Vypíše text č.1";
if ($id == 20) $text_2 = "Vypíše text č.2";
if ($id == 21) $text_3 = "Vypíše text č.3";
.....
if ($id == 36) $text_18 = "Vypíše text č.18";
if ($id == 37) $text_1 = "Vypíše text č.1";
if ($id == 38) $text_2 = "Vypíše text č.2";


Jak by toho šlo dosáhnout? Zřejmě matematicky a logikou, ale nemám absolutně páru, jak.
juriad
Profil
$id = 234; # samozřejmě, že $id bude v nějaké smyčce
echo "Vypíše text č. " . (($id - 1) % 18 + 1);

Ten operátor % se jmenuje modulo. Vrací zbytek po dělení. A ta vopičárna s +- 1 je tam kvůli tomu, že zbytek po dělení 18 je 0 - 17.

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: