Autor | Zpráva | ||
---|---|---|---|
Hejdouš Profil * |
#1 · Zasláno: 6. 10. 2013, 10:35:05
Vytvářím si hned 3 různé obrázky v PHP za pomocí: obrazek.php?vyber=1 ... 2 ... 3
Chtěl bych se zeptat, zda-li použití IF provádím dobře nebo je lepší použít switch. Doporučte. Scripty pak vybírám podle IF: if ($_GET["vyber"] == "1") { // scripty pro prvni obrázek } if ($_GET["vyber"] == "2") { // scripty pro druhý obrázek } if ($_GET["vyber"] == "3") { // scripty pro třetí obrázek } |
||
Amunak Profil |
#2 · Zasláno: 6. 10. 2013, 10:39:55
Použijte spíš switch, nebo alespoň elseif. Anebo lépe - pochybuji, že jsou skripty pro každý obrázek tak odlišné, že je nemožné většinu z toho napsat jen jako jeden kód dohromady. Ukážete nám, jak to vypadá celé?
|
||
Hejdouš Profil * |
#3 · Zasláno: 6. 10. 2013, 10:44:44
Script je dost veliký. Do obrázku ještě posílám velikost písma, barvy, font a díky tomu generuji pak obrázek ... na řádek, do sloupce či do obdélníku. Mám ale problém s tím, že ikdyž v každém IF mám použit $sirka ... $vyska, tak velikost na úplném konci scriptu mě vždy hodí nesmysl. Mám strach, aby ta $sirka a $vyska se nevzala ze všech IF.
No prostě potřebuji poradit, zda-li je lepší IF nebo SWITCH ... u použití elseif zase je nutné (?) ukončit script jako else. |
||
Sir Tom Profil |
#4 · Zasláno: 6. 10. 2013, 11:01:01
Hejdouš:
Lepší je switch, ale opravdu nebude nutné rozbíjet skript na podobné části jenom podle hodnoty jedné proměnné. Ukaž nám skript v případě $_GET['vyber'] == 1 a v případě $_GET['vyber'] == 2. |
||
Amunak Profil |
#5 · Zasláno: 6. 10. 2013, 11:03:24
Hejdouš:
„Do obrázku ještě posílám velikost písma, barvy, font a díky tomu generuji pak obrázek“ A co ti brání udělat něco jako: $conf = array(); //obrazek 1 $conf[1] = array( 'sirka' => 80, 'vyska' => 120, 'barva' => array(80,255,0), 'font' => 'Comic Sans MS' ); //obrazek 2 $conf[2] = array( 'sirka' => 42, 'vyska' => 42, 'barva' => array(255,255,255), 'font' => 'Arial' ); //kod pro generovani... //predpokladam, ze vypisText vezme text, barvu a font a vykresli to do obrazku vypisText('nejaky text', $conf[$_GET['vyber']]['barva'], $conf[$_GET['vyber']]['font']); //... dalsi kod generovani... „zda-li je lepší IF nebo SWITCH“ To právě záleží na použití. Tady spíš switch. Ale určitě použij alespoň if - elseif (else na konci je nepovinné, stejně jako default u case), protože je jasné, že když je v $_GET["vyber"] 1, tak tam není 2 nebo 3. Jo, a čísla se zadávají bez uvozovek okolo. |
||
Hejdouš Profil * |
#6 · Zasláno: 6. 10. 2013, 11:15:27
Chápu, děkuji moc.
Poslední dotaz na mySQL. Pro ukládání šířky a výšky (čísla) mám použít tinyint(3) unsigned ? |
||
juriad Profil |
#7 · Zasláno: 6. 10. 2013, 11:21:18
Hejdouš:
Klidně použij obyčejný INT; pochybuji, že jsi v situaci, že musíš šetřit každým bytem. Navíc práce s běžnějším typem bude nejspíš o zlomek nanosekundy rychlejší :) |
||
Amunak Profil |
#8 · Zasláno: 6. 10. 2013, 12:16:13
Hejdouš:
Amunak: „A co ti brání udělat něco jako...“ Skutečně to chápeš? Je zbytečné, aby sis to komplikoval. juriad: Nevím, jestli je mezi tinyint a int rozdíl v rychlosti, ale určitě bych použil unsigned. Máš pak jistotu, že z databáze nedostaneš záporné rozměry, ať děláš cokoliv. |
||
Časová prodleva: 11 let
|
0