| Autor | Správa |
Hawkie
 Užívateľ
 Založený: 27.04.2011 Príspevky: 35
 | Zaslal: Po 07.11.11 20:33 |   |
Takže, opäť som narazil na problém. Ale tentokrát by som chcel len spýtať.
Keď robím obsadzovací kalendár (kalendár obsadenosti), mám to dobre rozvrhnuté?
1.Najprv admin zadá do databázy obsadené dni mesiace a roky (od do)
2. na stránke pre obyčajných uživateľov sa zjavý kalendár:
1. Najprv vyberiem z databázy tie OD a DO
2. Urobím z toho cyklus, nech vyberá dni od začatia pobytu (zač. cyklu), tie medzi tým a tie do konca pobytu (koniec cyklu)
3. Potom sa na stránke začne načítavať kalendár kde bude podmienka, že keď je deň obsadený, echo "<td background-color=´dáka farba´>";, neobsadený vypíše bielim
4. Okej, to by sme mali, ako sakra dám kalendár tak, aby sa to začalo tým právnym dňom (ževraj cez mktime, ale z tých návodov na internete som nič nepochopil).
Ak by sa tu našla nejaká fakt milá duša, čo by to nejako zhodnotila, bol by som rád. A keď by ten niekto pridal aj jednoduchý kód na kalendár (nie obsadzovací, len obyčajný jednoduchý), bol by som mu fakt vďačný. Vopred ďakujem |
| |
  |
 |
emer
 Užívateľ
 Založený: 26.12.2006 Príspevky: 3683 Bydlisko: Nitra Vek: 18
 | Zaslal: Po 07.11.11 21:36 |   |
|
    |
 |
Hawkie
 Užívateľ
 Založený: 27.04.2011 Príspevky: 35
 | Zaslal: Ut 08.11.11 21:30 |   |
Už asi tuším ako to je . Už to nejako sformulujem. Ďakujem za odpoveď
// pridané po 23 hodinách 32 minútach od posledného príspevku
Oukej, opravujem sa, netuším ako to spraviť .
Skončil som tam, že som urobil cyklus, aby vypísalo dni, ktoré sú obsadené. No netuším, čo ďalej .
Ak by ste mali niekto nejaký múdry nápad, bol by som veľmi vďačný.
Myslím, že by sa pre ten účel hodil kalendár, ktorý je tu na fóre, ale pre istotu ho tu dám:
| kód: | <?php
$mesiac=date("m");$rok=date("Y"); //zistenie mesiaca a roka
$prvyDen=date("w",mktime(0,0,0,$mesiac,1,$rok)); //ktorym dnom zacina mesiac, marec 2009 zacina nedelou cize 7. dnom
if ($prvyDen==0) $prvyDen=7; //nedela je 0. den, cize podmienka zabezpeci aby bol 7.
$pocetDni=date("t",mktime(0,0,0,$mesiac,1,$rok)); //pocet dni v mesiaci
$pocetStlpcov=ceil(($pocetDni+$prvyDen-1)/7); //kolko stlpcov bude kalendar potrebovat, bud 4,5 alebo 6
$cislo=0; //pomocou inkremetacie tohto cisla sa vyplna pole kalendara
$pole[$pocetStlpcov-1][7-1]; //pole kalendara
$month=Array(1=>"Januar","Februar","Marec","April","Maj","Jun","Jul","August","September","Oktober","November","December");
for ($st=0; $st<$pocetStlpcov; $st++) //cyklus pre vyplnenie formulara
for ($ri=0; $ri<7; $ri++) /*dni prveho tyzdna v kalendary ktore patria do minuleho mesiaca,takisto aj dni
posledneho tyzdna patriace do dalsieho mesiaca sa vyplnia nulov */
if ((($ri<$prvyDen-1)&&($st==0)) ||($cislo>=$pocetDni)) {$pole[$st][$ri]=0;}
else {$cislo++; $pole[$st][$ri]=$cislo;} //vyplnenie pola inkrementujucou prem. $cislo (od 1 do $pocetDni)
//hlavicka kalendara
echo "<TABLE border=\"1\" style=\"border-collapse:collapse\"><th height=\"30\" bgcolor=\"gray\" colspan=\"8\">".$month[(int)$mesiac]." ".date("Y")."</th> ";
//cyklus pre vypisanie tabulky, pole sa vypisuje opacne (po riadkoch, naplnane bolo po stlpcoch)
for ($ri=0;$ri<7; $ri++){ echo "<tr><td bgcolor=\"lightblue\">"; //riadky, farba prveho stlpca s dnami
//vyplnenie prveho stlpca tabulky nazvami dnov podla toho na ktorom riadku cyklus je
if ($ri==0) echo "Pondelok";if ($ri==1) echo "Utorok";if ($ri==2) echo "Streda";
if ($ri==3) echo "Stvrtok";if ($ri==4) echo "Piatok";if ($ri==5) echo "Sobota";
if ($ri==6) echo "Nedela";echo "</td>";
for ($st=0; $st<$pocetStlpcov; $st++) { //vypise jednotlive bunky riadku
echo "<td ";
if ($pole[$st][$ri]==date("d")) echo "bgcolor=\"lightgray\" "; //farba bunky s aktualnym datumom
//sem by som dal tie dni, ktore by boli obsadene, trebars cervenou, to je jedno
echo "style=\"text-align:center;width:22;height:25;\">"; //format buniek
if ($pole[$st][$ri]==0) echo " "; //vypise medzeru ak ma pole hodnotu 0
else echo $pole[$st][$ri]; //inak vypise hodnotu pola (cislo dna - prem $cislo)
echo"</td>"; }
echo "</tr>"; }
echo "</table>"
?> |
|
| |
  |
 |
Ďuri
 Administrátor
 Založený: 11.08.2007 Príspevky: 3785 Bydlisko: Brno
 |
|
    |
 |
Hawkie
 Užívateľ
 Založený: 27.04.2011 Príspevky: 35
 | Zaslal: Št 10.11.11 19:51 |   |
Chcel by som urobiť obsadzovací kalendár, ktorý by dni, ktoré by zadal admin vyznačil nejakou farbou. Na mňa je ten kód proste moc zložitý, neviem ako by som ho urobil ... |
_________________ „Slobodu mi predsa nikto nemôže zobrať, veď slobodný som sa už narodil!“ Kráľ Artuš | |
  |
 |
Ďuri
 Administrátor
 Založený: 11.08.2007 Príspevky: 3785 Bydlisko: Brno
 | Zaslal: Št 10.11.11 21:29 |   |
Tak to by som sa necudoval, ze ti nikto neodpoveda. Temy typu "urobte mi" byvaju ignorovane prakticky vzdy. Sekciu na pracovne ponuky tu mame, ale to slovo "praca" napoveda nieco o tom, ze odmena nema byt pekne podakovanie.
Na Linuxsofte vysiel kedysi tutorial, je sice stary, ale par lekcii sa venuje prave kalendaru, skus si odtial vytiahnut par myslienok. |
| |
    |
 |
Hawkie
 Užívateľ
 Založený: 27.04.2011 Príspevky: 35
 | Zaslal: Št 10.11.11 21:33 |   |
Ten článok na Linuxsofte som už čítal, a nebol to jediný, ktorý som o kalendároch čítal , ale s obsadzovacím kalendárom si neviem rady ani tak. Okej, v každom prípade ďakujem a v budúcnosti sa pokúsim vyhnúť otázkam tohoto „pracovného“ typu . Nájdem iný spôsob, ale ďakujem... |
_________________ „Slobodu mi predsa nikto nemôže zobrať, veď slobodný som sa už narodil!“ Kráľ Artuš | |
  |
 |
|
Nemôžete pridávať nové témy do tohto fóra. Nemôžete odpovedať na témy v tomto fóre. Nemôžete upravovať svoje príspevky v tomto fóre. Nemôžete mazať svoje príspevky v tomto fóre. Nemôžete hlasovať v tomto fóre.
|
|