LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: článek PHP (17) - Dokončujeme kalendář

expanze promennych 28.6.2004 20:15
Pavel Kácha

>> <?
>> $uzivatel="Petr";
>> $server="Linuxsoft";
>> echo "Uživatel ".$uzivatel." je vítán na serveru ".$server."!<BR>";
>> echo "Uživatel $uzivatel je vítán na serveru $server!<BR>";
>> ?>

Ten samy vyznam ma i:
<? echo "Uživatel {$uzivatel} je vítán na serveru {$server}!<BR>"; ?>

A navic mi to prijde i prehlednejsi, ale to je vec nazoru. :)
S vyuzitim tohoto zapisu se pak daji delat celkem zajimave "obraty" s promennymi, ktere v jinych jazycich marne hledam. Ale nechci predbihat, jiste na ne prijde rada v dalsich dilech serialu. :)

Pekny tutorial, jen tak dal. V PHP uz nejakou dobu delam, ale obcas objevim neco noveho, nebo si upresnim znalosti. Diky. :)

Re: Expanze promennych 28.6.2004 21:42
Petr Zajíc

Ten zapis je samozrejme prehlednejsi s temi slozenymi zavorkami {}.

Jde i tohle:
echo "Uživatel ${uzivatel} je vítán na serveru ${server}!<BR>";

Anebo tohle:
echo "Uživatel ${"uzivatel"} je vítán na serveru ${"server"}!<BR>";

Nektere veci v serialu zamerne vynechavam. Treba syntaxi HEREDOC mozna vubec rozebirat nebudu. Cilem tutorialu je spis to, co pises: Zacatecnikum by to melo pomoct se rozjet a pokrocili tam mozna najdou semtam neco, co je posune nebo nasmeruje.

Pak je tu jeste jedna vec: V prikladech hledam kompromis mezi praktickou hodnotou kodu, vyukovou hodnotou a slozitosti. Nekdy to je docela fuska... Ale samozrejme diky za komentar.

Re: Expanze promennych 29.6.2004 02:00
Pavel Kácha

Ano, tohle vsechno jde. :) A kdo by nechtel pouzivat pole, muze zkusit jeste treba takovouhle kombinaci - samozrejme to jeste obalit nejakym cyklem (v nekterych pripadech to pole nahradi, ale neni to ono):

<?
$id = 13;
${"soubor".$id} = "logo.png";
// odpovida zapisu $soubor13 = "logo.png";
?>

A tohle jde zase kombinovat s ruznymi zavorkami atd, takze vznika dalsi spousta ruznych zapisu, ktere delaji totez. :)

Re: Expanze promennych 29.6.2004 14:25
Petr Zajíc

A aby toho nebylo málo, jdou dělat kouzla nejen s názvy proměnných, ale i s názvy funkcí... v podobném duchu.

Leden 2005 v kalendari 23.7.2004 21:14
David Macura

Nebudu chvalit nejlepsi serial o php, ktery jsem kdy cetl, ale radeji se zeptam, proc vse v kalendari funguje jak ma, ale skript proste neumi vypsat leden 2005. Napise pouze leden 2005 a tim konci. ????? diky. David

Re: Leden 2005 v kalendari 24.7.2004 19:57
Petr Zajíc

Ve skriptu je bohužel chyba (respektive 2 chyby). Nebudu je teď opravovat, využiju to v díle věnovanému ladění chyb. Moc se omlouvám.

Re: Leden 2005 v kalendari 27.7.2004 19:44
Tomáš Miklík

Problém je v tom, že 1. ledna 2005 je v sobotu a skript zjišťuje číslo prvního týdne v měsíci podle prvniho dne mesice. No 1. leden patri jeste do 53. tydne predchazejiciho roku. He he ja se taky chvili divil. :))

Re: Leden 2005 v kalendari 31.7.2004 09:01
Petr Zajíc

Mě už na to upozornil jeden čtenář mailem. Funkce date zjišťuje číslo týdne způsobem, který popisuje nějaká ISO (číslo momentálně nevím, ale dalo by se najít v nápovědě k funkci date). Ta zná jen 52 týdnů a ačkoli je to norma, ty přelomy roku nezpracovává moc intuitivně. Čili moje chyba, sypu si na hlavu prach, popel a diskety a řádně se očerním v díle(ch) o ladění skriptů.

Re: Leden 2005 v kalendari 15.10.2004 00:49
Filip Novák

Zdravím a děkuji za pěkný seriál o PHP.

Problém s přechodem roku se dá vyřešit jiným výpočtem sloupců.
Např. takto:

<?
$sloupcu= ceil(($PocetDnu-(7-($PrvniDen-1))) / 7) + 2;
?>

S pozdravem
Filip Novák.

Re: Leden 2005 v kalendari 12.3.2007 15:04
Jirka Dobrovolny

Ještě je pro výpočet sloupců jedna jednoduchá pomoc. Je to dost podobné, když už máme počet dnů a první den v měsíci, tak je snadné použít

$PocetSloupcu = ceil(PrvniDenMesice($mesic, $rok)+PocetDnuNaMesic($mesic, $rok)-1)+1;

Ta +1 na konci je tam kvuli popiskum dnu v tydnu, zkousel jsem to snad 20 let zpatky a 20 let dopredu na kazdy mesic a uplne v pohode.

Re: Leden 2005 v kalendari 12.3.2007 15:07
Jirka Dobrovolny

Omlouvám se, ještě jsem to zapomněl tady při přepisu vydělit sedmi v těle té zaokrouhlovací funkce ceil. Takze spravne by to mělo být asi takhle:

$PocetSloupcu = ceil((PrvniDenMesice($mesic, $rok)+PocetDnuNaMesic($mesic, $rok)-1)/7)+1;

Nefunguje mi to:( 18.3.2005 17:13
Chadas

Zkopíroval jsem si adrojový k´d kalendáře a výsledek je :

Parse error: parse error, expecting `'{'' in c:\server\apache\htdocs\serial\kalendar.php on line 10

Kde je chyba?

Preco taky skok??? 12.10.2006 10:42
Jozef Martoncik

Chcem sa spytat preco taky obrovsky skok, doteraz bol serial uplne lahky zvladal som vsetko co tu bolo a postupne som prichadzal na jednotlive veci avsak tuto s kalendarom ste pouzili take veci co doteraz neboli spominane, takze som to vobec nepochopil

Re: Preco taky skok??? 13.10.2006 08:38
Petr Zajíc

Takový skok je tu proto, že programování je v podstatě složitá věc. Jednou to přijít muselo.

Súhlasím - veľký skok 10.1.2007 16:50
Martin Balaz

Súhlasím s príspevkom predomnou... proste prvých 15 kapitol úplne easy jak pre blbcou, čo programovanie ešte v živote nevideli by to dokazali pochopiť a napísať ale dojde 16 kapitola a zrazu kalendár v ktorom je použitých asi milion nových funkcií ktoré vôbec neboli vysvetlené, ako programovanie je veda ale da sa to vysvetlit aj bez takýchto zbytočných veľkých skokov... ale preklikal som si to aj dalej a musím povedať že to sprevádza celý serial.. (sorry autor) lebo autor je zjavne profik na php a dojde mu to ako jednoduche a pochopitelne tie veci čo tu píse ale človeku ktorý to vidí prvý krát a navyše napríklad nevie ani céčko ani žiadny iný naozaj programovací jazyk tak je to naozaj náročné, ja som tomu programu kalendar tiez nepochopil... autor!!! nevysvetlil si jak to funguje! aspon ja by som chcel tak trosku jak pre blbca... teraz som čital uvod do takeho že .jsp a tam je script a nižšie je napísané ludskou rečou riadok po riadku čo ten program robí a jak rozmýšla.. keby si to písal takto tak môžeš robiť skoky aj 7 mílové a ľudia tomu pochopia... ale zase ak to niekto chce jak pre blbca mat tak si moze asi najst iný portál alebo si kúpit knihu thats true.... asi si kupim knihu...

Re: Súhlasím - veľký skok 11.1.2007 09:56
Petr Zajíc

Třeba můj seriál není pro Vás. Pochopím, když si najdete informační zdroj, který Vám bude vyhovovat. A - žádný profík na PHP opravdu nejsem ;-).

RE: velky skok 6.4.2007 17:14
A.M.

Ako uz hovorili dalsi uzivatelia predo mnou k teme velky skok, tak nezostava mi nic ine ako LEN SUHLASIT!!! Ked som cital prvych 15 kapitol, uznaval som, ze jak dobre a podrobne to vysvetluje ten autor. Tesil som sa, ze sa uz naucim php, lebo uz aj na mnohych inych portaloch som bol a vacsinou to boli tutorialy zamerane na vysledok nez na ciel. Mna nezaujimaju ziadne COPY & PASTE tutorialy. No a ked som tu s nadsenim presiel na clanok o kalendari, tak som nemal sancu nic pochopit. Existuju aj naozajstni amateri, nielen skuseni programatori pan autor!! Tak by som bol fakt rad, kebyze podla toho aj pisete a hlavne VYSVETLUJETE!
Dakujem.

Re: RE: velky skok 6.4.2007 18:53
Petr Zajíc

Třeba můj seriál není pro Vás. Pochopím, když si najdete informační zdroj, který Vám bude vyhovovat.

oznaceni jaky je den 11.12.2007 19:22
negr

Pls poradi mi nekdo jak mam udelat tady v tom serialu (kodu) udelat at se mi vybarvy policko aktualniho dne?? myslim tim ze je treba 6 července tak pozadi za 6 bude treba modre a ne bile??
PLS thx

Re: oznaceni jaky je den 16.12.2007 13:51
Jozef Valo
da sa to spravit napr. aj takto:
do funkcie Kalendar pridas parameter, ktory bude oznacovat den, ktory chces vyznacit:

function Kalendar ($den, $mesic, $rok) ....

a potom upravis vnutorny cyklus pri vypise tabulky:

for ($sloupec=1; $sloupec<=$sloupcu; $sloupec++)
{ $bunka = Bunka($radek, $sloupec, $PrvniDen, $PocetDnu);
if ($bunka==$den) echo "<TD width=\"30\" bgcolor=\"blue\"><B>".$bunka."</B></TD>";
else echo "<TD width=\"30\">".$bunka."</TD>";

}
Odkazy na kalendáři 21.1.2008 20:47
Petr Havel

Šlo by udělat, že by každé číslo (datum) byl odkaz, který by se odkazoval na nějakou stránku a sebou neslo proměnnou s dadem na který jsme klikli?
dík za odpověď

Petr Havel

Re: Odkazy na kalendáři 21.1.2008 23:43
Aleš Hakl

Slo a to pravdepodobne velice trivialne.

Re: Odkazy na kalendáři 22.1.2008 16:59
Petr Havel

a tak jak?

Počet sloupců - korektura 14.7.2009 21:07
Matěj Ošanec

"pokud více než tři dny přelomového měsíce spadají do ledna, je týden považován za první v novém roce, v opačném případě je považován za poslední týden v roce minulém."

tady bylo asi myšleno přelomového týdne místo měsíce,na chvíli mi to zamotalo hlavu:)


KOMENTARZE
expanze promennych 28.6.2004 20:15 Pavel Kácha
Re: Expanze promennych 28.6.2004 21:42 Petr Zajíc
L Re: Expanze promennych 29.6.2004 02:00 Pavel Kácha
  L Re: Expanze promennych 29.6.2004 14:25 Petr Zajíc
Leden 2005 v kalendari 23.7.2004 21:14 David Macura
|- Re: Leden 2005 v kalendari 24.7.2004 19:57 Petr Zajíc
|- Re: Leden 2005 v kalendari 27.7.2004 19:44 Tomáš Miklík
| L Re: Leden 2005 v kalendari 31.7.2004 09:01 Petr Zajíc
L Re: Leden 2005 v kalendari 15.10.2004 00:49 Filip Novák
  L Re: Leden 2005 v kalendari 12.3.2007 15:04 Jirka Dobrovolny
    L Re: Leden 2005 v kalendari 12.3.2007 15:07 Jirka Dobrovolny
Nefunguje mi to:( 18.3.2005 17:13 Chadas
Preco taky skok??? 12.10.2006 10:42 Jozef Martoncik
L Re: Preco taky skok??? 13.10.2006 08:38 Petr Zajíc
Súhlasím - veľký skok 10.1.2007 16:50 Martin Balaz
L Re: Súhlasím - veľký skok 11.1.2007 09:56 Petr Zajíc
RE: velky skok 6.4.2007 17:14 A.M.
L Re: RE: velky skok 6.4.2007 18:53 Petr Zajíc
oznaceni jaky je den 11.12.2007 19:22 negr
L Re: oznaceni jaky je den 16.12.2007 13:51 Jozef Valo
Odkazy na kalendáři 21.1.2008 20:47 Petr Havel
L Re: Odkazy na kalendáři 21.1.2008 23:43 Aleš Hakl
  L Re: Odkazy na kalendáři 22.1.2008 16:59 Petr Havel
Počet sloupců - korektura 14.7.2009 21:07 Matěj Ošanec
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4874x
2. FreeBSD
Download: 9063x
3. PCLinuxOS-2010
Download: 8561x
4. alcolix
Download: 10943x
5. Onebase Linux
Download: 9659x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6240x

1. xinetd
Download: 2411x
2. RDGS
Download: 937x
3. spkg
Download: 4753x
4. LinPacker
Download: 9961x
5. VFU File Manager
Download: 3196x
6. LeftHand Mała Księgowość
Download: 7201x
7. MISU pyFotoResize
Download: 2805x
8. Lefthand CRM
Download: 3561x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3117x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz