Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Php- zkácení kodu

Ahoj lidi mám problém...můj kod (na automatické tabulky k rozpisům turnaje) je poměrně složitý a některým by to mohlo pomalu nabíhat...tak zkacuju kod kde se dá...ale nějak nevím jak zkrátit tohle:

if ($kfctym1 == 0) include "6tab2/tym1.inc";
elseif ($kfctym2 == 0) include "6tab2/tym2.inc";
elseif ($kfctym3 == 0) include "6tab2/tym3.inc";
elseif ($kfctym4 == 0) include "6tab2/tym4.inc";
elseif ($kfctym5 == 0) include "6tab2/tym5.inc";
elseif ($kfctym6 == 0) include "6tab2/tym6.inc";
elseif ($kfctym7 == 0) include "6tab2/tym7.inc";
elseif ($kfctym8 == 0) include "6tab2/tym8.inc";

Díky moc (je toho víc pod sebou takže mě prosím nepište komentáře typu že se to o moc nezrychlí dík) :-)

Předmět Autor Datum
Oprava názvu tématu: zkrácení kodu :-D:)):)):)):-)
Paul Hippo 24.07.2007 20:33
Paul Hippo
Nezkusil si dát "upravit" ???!
CooLeR 24.07.2007 20:35
CooLeR
upravit? myslíš ten název? nejsem zaregistrovaný tudíž to nepůjde..
Paul Hippo 24.07.2007 20:36
Paul Hippo
Promiňte, oči mám rozostřené;-)
CooLeR 24.07.2007 20:47
CooLeR
// pracujiiii $includeThisFile = $kfctym2 ? $kfctym3
Flash_Gordon 24.07.2007 21:04
Flash_Gordon
Na tohle switch použít nemůžeš.
host 24.07.2007 21:08
host
Jedině asi použít cyklus for. Symbolicky zapsané takto: for $i=1 to 8 { if ($kfctym+$i == 0) inclu…
host 24.07.2007 21:12
host
nějak to nefunguje....píše to chybu na prvním řádku toho co si napsal...zkusil jsem tam dát závorky…
Paul Hippo 24.07.2007 21:28
Paul Hippo
Dyť jsem psal, že to je symbolicky - to znamená že tam jsou syntaktické chyby. Šlo mi o to, ukázat t…
host 24.07.2007 21:29
host
tohle to vypíše: Parse error: parse error, unexpected T_VARIABLE, expecting '(' in D:\www\nove\6skup…
Paul Hippo 24.07.2007 21:33
Paul Hippo
Bože... tohle fungovat opravdu nemůže, vysvětlení jsem ti už napsal výše...
host 24.07.2007 21:42
host
for ($i = 1; $i < 9; $i++) { if(@$kfctym.$i ? $kfctym.$i: $kfctym.($i+1)) { include "6tab2/tym.$i.in…
Flash_Gordon 24.07.2007 21:13
Flash_Gordon
Pochybuju, že by to fungovalo, navíc zbytečně složité a chybí ti u inkrementace proměnné znak dolar.
host 24.07.2007 21:35
host
taky že to nefunguje :-|
Paul Hippo 24.07.2007 21:38
Paul Hippo
Jo jo. Už se mlátím do glavy...
Flash_Gordon 24.07.2007 21:48
Flash_Gordon
for ($i = 1; $i <= 8; ++$i) if (${"kfctym$i"} == 0) { include "6tab2/tym$i.inc"; break; }
los 24.07.2007 21:38
los
TO JE OOOOOOOOONOOOOOOO 8-)8-)8-)8-)8-) ďakujem pekně - Přišel viděl zvítězil :))
Paul Hippo 24.07.2007 21:39
Paul Hippo
Keď si to porovnáš s tým, čo napísal host, tak je to to isté, len v syntaxi PHP.
los 24.07.2007 21:42
los
mám ještě jeden kod: if ($skup == A and $tur == A) include "6tab3/tym1.inc"; if ($skup == A and $tu…
Paul Hippo 24.07.2007 21:42
Paul Hippo
Ty "programuješ" v PHP nebo ne? Vždyť stačí jen upravit losův kód: for ($i = 1; $i <= 8; ++$i) if…
host 24.07.2007 21:45
host
Napísal by som to takto, aby sa v cykle nevyhodnocovala stále rovnaká podmienka: if ($skup == "A" a…
los 24.07.2007 21:48
los
Ano, já jsem striktně (a zabedněně) dodržel zadaný algoritmus, tedy aby se 8x vyhodnotila stejná pod…
host 24.07.2007 21:50
host
programuju...ale já umím klasickou podmínku a to je tak všechno...ale jak je tam funkce nebo tak na…
Paul Hippo 24.07.2007 21:48
Paul Hippo
S klasickou podmínkou si v programování dlouho nevystačíš. Teda, i když jak vidím... :x: K php exis…
host 24.07.2007 21:51
host
já mám koupenou knížku...ale říkám přečtu si to 150x a čumím na to jak ::):-? rád bych se toho nauči…
Paul Hippo 24.07.2007 21:56
Paul Hippo
když už tady tak jsme chtěl bych se zeptat jestli se dá vytvořit takováhle podmínka nebo něco podobn…
Paul Hippo 24.07.2007 21:58
Paul Hippo
Pokud je někde slovo pokud tak se prostě podmínkám nevyhneš. Jsem amater a loser (nezaměňovat s los…
Flash_Gordon 24.07.2007 22:06
Flash_Gordon
ta podmínka není přesná...potřebuju podmínku která zkontroluje jméno aktuálního souboru...ne existen…
Paul Hippo 24.07.2007 22:16
Paul Hippo
Jméno aktuálního souboru? Jaký soubor je podle tebe aktuální? Jméno souboru, jehož jméno chceš porov…
host 24.07.2007 22:21
host
vysvětlím znovu třeba na tom jak by se to dalo použít a vysvětlit....: Budu líný a uložím si nadpis…
Paul Hippo 24.07.2007 22:31
Paul Hippo
Lepší bys to měl cpát do pole $stranka["index"] = "Home"; $stranka["kontakt"] = "Kontakt"; Jak zji…
host 24.07.2007 22:40
host
No to by se mělo dělat takhle: $ActualScript = $_SERVER["SCRIPT_NAME"]; // jmeno prave vykonávaného…
Flash_Gordon 24.07.2007 22:21
Flash_Gordon
A v proměnné $script máš co?
host 24.07.2007 22:22
host
Sakra... už to nejde opravit. Mělo taam být samozřejmě $ActualScript. No nic jdu spat bude to optimá…
Flash_Gordon 24.07.2007 22:25
Flash_Gordon
if (basename(__FILE__) == "xxx") echo "yyy"; Len neviem, na čo to je dobré, keď už v čase písania s…
los 24.07.2007 22:25
los
Hele pane Lose vy jste genius 8-) tohle jsem potřeboval!! díííííky moooc už po několikáté 8-) mohl b…
Paul Hippo 24.07.2007 22:33
Paul Hippo
Hele pane Lose :-D:-D:-D Přidej si ho losi na ICQ, abych tě neotravoval jen já. ]:)
host 24.07.2007 22:42
host
Kdepak. Los už podnikl opatření... :-D
Flash_Gordon 24.07.2007 23:01
Flash_Gordon
bych řek :-/:-x nechce si mě přidat...asi ví co dělá :-D:))
Paul Hippo 24.07.2007 23:15
Paul Hippo
asi bych to odfajfkoval :))8-) vyřešeno ;-)
Paul Hippo 24.07.2007 22:37
Paul Hippo
Lidi kde mám chybu? :-( zase to nefunguje: for ($i = 1; $i <= 8; $i++) (${"$zaptym$i"} = 0);
Paul Hippo 24.07.2007 23:16
Paul Hippo
Tenhle zápis je syntakticky tak chybný, že ani netuším co to má dělat... :)) (myslím to tělo cyklu,…
Flash_Gordon 24.07.2007 23:20
Flash_Gordon
Mělo to zkrátit tohle: $zaptym1 = 0; $zaptym2 = 0; $zaptym3 = 0; $zaptym4 = 0; $zaptym5 = 0; $zapty…
Paul Hippo 24.07.2007 23:23
Paul Hippo
už se do toho zamotávám no :-/
Paul Hippo 24.07.2007 23:23
Paul Hippo
už to mám ;-)
Paul Hippo 24.07.2007 23:32
Paul Hippo
Přebejval ti tam dolar $ v proměnné $zaptym.
host 24.07.2007 23:33
host
jj vím vim ;-)
Paul Hippo 24.07.2007 23:39
Paul Hippo
Preco nepouijes pole? Snad php ma polia. Pouzivat osobitne premenne $kfctym1 az $kfctymx to je total… poslední
MM.. 25.07.2007 00:13
MM..

tohle to vypíše:
Parse error: parse error, unexpected T_VARIABLE, expecting '(' in D:\www\nove\6skup.inc on line 1030

pokud tam přidám závorky takto:
for ($i=1 to 8)
{
if ($kfctym+$i == 0) include "6tab2/tym+$i.inc";
break;
}

tak to napíše toto:
Parse error: parse error, unexpected T_STRING, expecting ';' in D:\www\nove\6skup.inc on line 1030

mám ještě jeden kod:

if ($skup == A and $tur == A) include "6tab3/tym1.inc";
if ($skup == A and $tur == A) include "6tab3/tym2.inc";
if ($skup == A and $tur == A) include "6tab3/tym3.inc";
if ($skup == A and $tur == A) include "6tab3/tym4.inc";
if ($skup == A and $tur == A) include "6tab3/tym5.inc";
if ($skup == A and $tur == A) include "6tab3/tym6.inc";
if ($skup == A and $tur == A) include "6tab3/tym7.inc";
if ($skup == A and $tur == A) include "6tab3/tym8.inc";

já nějak zapomněl jak mám dát aby to vypsalo více souborů :-[

když už tady tak jsme chtěl bych se zeptat jestli se dá vytvořit takováhle podmínka nebo něco podobného čím by to šlo udělat:
pokud je název souboru xxx vypiš yyy (je to jen takový nazorný příklad)

Pokud je někde slovo pokud tak se prostě podmínkám nevyhneš.

Jsem amater a loser (nezaměňovat s los :-) ), ale myslím si, že podmínky vůbec
jsou nejčastější operací ve většině programů.

if (file_exists("xxx"))
echo "yyy";

Ale tady se nic neptej. Já jsem v programování jen o kousíček méně zoufalý než ty.
Rozhodně si prostuduj tento seriál o PHP. Nikde jsem nic kvalitnějšího o PHP na netu fakt neviděl (česky).

Link

vysvětlím znovu třeba na tom jak by se to dalo použít a vysvětlit....:

Budu líný a uložím si nadpisy z každé stránky do promněných např.:
$index = "Home"
$kontakt = "Kontakt"
atd...
a pak potřebuju podmínku kterou vložím místo nadpisu a podle názvu souboru který návštěvník stránek otevře se zobrazí nadpis...už chápeš? ;-):-)

Lepší bys to měl cpát do pole

$stranka["index"] = "Home";
$stranka["kontakt"] = "Kontakt";

Jak zjistíš jméno skriptu už napsali kolegové pode mnou, takže už ani nemusíš dávat žádnou podmínku, ale rovnou zobrazit nadpis...

$jmeno_souboru = basename(__FILE__);
echo $stranka("$jmeno_souboru");

No to by se mělo dělat takhle:

$ActualScript = $_SERVER["SCRIPT_NAME"];      // jmeno prave vykonávaného scriptu i s cestou
$fileNameOnly = SubStr($script, StrRPos($script, "/")+1);  // jen nazev souboru
// K výpisu obsahu proměnné je potřeba vždy [b]ECHO[/b] no tak:
echo $fileNameOnly;


No jinak platí co píše Host hned víš.

Zpět do poradny Odpovědět na původní otázku Nahoru