Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: kalendarz
Forum PHP.pl > Forum > Przedszkole
august
Cześć,
Chciałbym by kalendarz (kod poniżej) wyróżniał nie tylko aktualną date lecz również daty pobrane z pliku tekstowego.
Jak to zrobić?

  1. <?
  2. ##########################################################
  3. # Calendario en espańol
  4. # Autor: Luis Tena O.
  5. # E-mail: cookieme@usa.net
  6. # Fecha: 28.3.2002
  7. ##########################################################
  8.  
  9. // Languaje option, in case you want another languaje duplicate another array from
     below
  10. $lang = 'en';
  11. // 0 = Lunes / Monday (Completo / Complete)
  12. // 1 = Lun / Mon (Abreviado / Short)
  13. $tipo_semana = 1;
  14. $tipo_mes = 1;
  15.  
  16. //Arreglo de meses y dias de la semana
  17. // Espańol
  18. $MIESIACP['es'][1] = 'Enero';
  19. $MIESIACP['es'][2] = 'Febrero';
  20. $MIESIACP['es'][3] = 'Marzo';
  21. $MIESIACP['es'][4] = 'Abril';
  22. $MIESIACP['es'][5] = 'Mayo';
  23. $MIESIACP['es'][6] = 'Junio';
  24. $MIESIACP['es'][7] = 'Julio';
  25. $MIESIACP['es'][8] = 'Agosto';
  26. $MIESIACP['es'][9] = 'Septiembre';
  27. $MIESIACP['es'][10] = 'Octubre';
  28. $MIESIACP['es'][11] = 'Noviembre';
  29. $MIESIACP['es'][12] = 'Diciembre';
  30.  
  31. $MIESIACK['es'][1] = 'Ene';
  32. $MIESIACK['es'][2] = 'Feb';
  33. $MIESIACK['es'][3] = 'Mar';
  34. $MIESIACK['es'][4] = 'Abr';
  35. $MIESIACK['es'][5] = 'May';
  36. $MIESIACK['es'][6] = 'Jun';
  37. $MIESIACK['es'][7] = 'Jul';
  38. $MIESIACK['es'][8] = 'Ago';
  39. $MIESIACK['es'][9] = 'Sep';
  40. $MIESIACK['es'][10] = 'Oct';
  41. $MIESIACK['es'][11] = 'Nov';
  42. $MIESIACK['es'][12] = 'Dic';
  43.  
  44. $TYDZIENP['es'][0] = 'Domingo';
  45. $TYDZIENP['es'][1] = 'Lunes';
  46. $TYDZIENP['es'][2] = 'Martes';
  47. $TYDZIENP['es'][3] = 'Miércoles';
  48. $TYDZIENP['es'][4] = 'Jueves';
  49. $TYDZIENP['es'][5] = 'Viernes';
  50. $TYDZIENP['es'][6] = 'Sábado';
  51.  
  52. $TYDZIENK['es'][0] = 'Dom';
  53. $TYDZIENK['es'][1] = 'Lun';
  54. $TYDZIENK['es'][2] = 'Mar';
  55. $TYDZIENK['es'][3] = 'Mie';
  56. $TYDZIENK['es'][4] = 'Jue';
  57. $TYDZIENK['es'][5] = 'Vie';
  58. $TYDZIENK['es'][6] = 'Sáb';
  59.  
  60. // English
  61. $MIESIACP['en'][1] = 'January';
  62. $MIESIACP['en'][2] = 'February';
  63. $MIESIACP['en'][3] = 'March';
  64. $MIESIACP['en'][4] = 'April';
  65. $MIESIACP['en'][5] = 'May';
  66. $MIESIACP['en'][6] = 'June';
  67. $MIESIACP['en'][7] = 'July';
  68. $MIESIACP['en'][8] = 'August';
  69. $MIESIACP['en'][9] = 'September';
  70. $MIESIACP['en'][10] = 'October';
  71. $MIESIACP['en'][11] = 'November';
  72. $MIESIACP['en'][12] = 'Dicember';
  73.  
  74. $MIESIACK['en'][1] = 'Jan';
  75. $MIESIACK['en'][2] = 'Feb';
  76. $MIESIACK['en'][3] = 'Mar';
  77. $MIESIACK['en'][4] = 'Apr';
  78. $MIESIACK['en'][5] = 'May';
  79. $MIESIACK['en'][6] = 'Jun';
  80. $MIESIACK['en'][7] = 'Jul';
  81. $MIESIACK['en'][8] = 'Aug';
  82. $MIESIACK['en'][9] = 'Sep';
  83. $MIESIACK['en'][10] = 'Oct';
  84. $MIESIACK['en'][11] = 'Nov';
  85. $MIESIACK['en'][12] = 'Dec';
  86.  
  87. $TYDZIENP['en'][0] = 'Sunday';
  88. $TYDZIENP['en'][1] = 'Monday';
  89. $TYDZIENP['en'][2] = 'Tuesday';
  90. $TYDZIENP['en'][3] = 'Wednesday';
  91. $TYDZIENP['en'][4] = 'Thusrday';
  92. $TYDZIENP['en'][5] = 'Friday';
  93. $TYDZIENP['en'][6] = 'Saturday';
  94.  
  95. $TYDZIENK['en'][0] = 'Sun';
  96. $TYDZIENK['en'][1] = 'Mon';
  97. $TYDZIENK['en'][2] = 'Tue';
  98. $TYDZIENK['en'][3] = 'Wed';
  99. $TYDZIENK['en'][4] = 'Thu';
  100. $TYDZIENK['en'][5] = 'Fri';
  101. $TYDZIENK['en'][6] = 'Sat';
  102.  
  103. ////////////////////////////////////
  104. if($tipo_semana == 0){
  105. $ARRDIASSEMANA = $TYDZIENP[$lang];
  106. }elseif($tipo_semana == 1){
  107. $ARRDIASSEMANA = $TYDZIENK[$lang];
  108. }
  109. if($tipo_mes == 0){
  110. $ARRMES = $MIESIACP[$lang];
  111. }elseif($tipo_mes == 1){
  112. $ARRMES = $MIESIACK[$lang];
  113. }
  114.  
  115. //Si no hay una fecha definida generamos la de hoy
  116. if(!$dia) $dia = date(d);
  117. if(!$mes) $mes = date(n);
  118. if(!$ano) $ano = date(Y);
  119.  
  120. //Paramentros que usare abajo
  121. $TotalDiasMes = date(t,mktime(0,0,0,$mes,$dia,$ano));
  122. $DiaSemanaEmpiezaMes = date(w,mktime(0,0,0,$mes,1,$ano));
  123. $DiaSemanaTerminaMes = date(w,mktime(0,0,0,$mes,$TotalDiasMes,$ano));
  124. $EmpiezaMesCalOffset = $DiaSemanaEmpiezaMes;
  125. $TerminaMesCalOffset = 6 - $DiaSemanaTerminaMes;
  126. $TotalDeCeldas = $TotalDiasMes + $DiaSemanaEmpiezaMes + $TerminaMesCalOffset;
  127.  
  128. if($mes == 1){
  129. $MesAnterior = 12;
  130. $MesSiguiente = $mes + 1;
  131. $AnoAnterior = $ano - 1;
  132. $AnoSiguiente = $ano;
  133. }elseif($mes == 12){
  134. $MesAnterior = $mes - 1;
  135. $MesSiguiente = 1;
  136. $AnoAnterior = $ano;
  137. $AnoSiguiente = $ano + 1;
  138. }else{
  139. $MesAnterior = $mes - 1;
  140. $MesSiguiente = $mes + 1;
  141. $AnoAnterior = $ano;
  142. $AnoSiguiente = $ano;
  143. $AnoAnteriorAno = $ano - 1;
  144. $AnoSiguienteAno = $ano + 1;
  145. }
  146.  
  147. //Header de la tabla del calendario
  148. print "<table style="font-family:arial;font-size:12px" bordercolor=navy align=center border=1 cellpadding=3 cellspacing=1>";
  149. print " <tr>";
  150. print " <td colspan=7>";
  151. print " <table border=0 align=center width="100%" style="font-family:arial;font-size:12px">";
  152. print " <tr>";
  153. print " <td width="1%"><a href="$PHP_SELF?mes=$mes&ano=$AnoAnteriorAno"><img src=botones/atras2.gif border=0></a></td>";
  154. print " <td width="1%"><a href="$PHP_SELF?mes=$MesAnterior&ano=$AnoAnterior"><img src=botones/atras.gif border=0></a></td>";
  155. print " <td width="96%" colspan="3" align="center" nowrap><b>".$ARRMES[$mes]." - $ano</b></td>";
  156. print " <td width="1%"><a href="$PHP_SELF?mes=$MesSiguiente&ano=$AnoSiguiente"><img src=botones/avanzar.gif border=0></a></td>";
  157. print " <td width="1%"><a href="$PHP_SELF?mes=$mes&ano=$AnoSiguienteAno"><img src=botones/avanzar2.gif border=0></a></td>";
  158. print " </tr>";
  159. print " </table>";
  160. print " </td>";
  161. print "</tr>";
  162. print "<tr>";
  163. foreach($ARRDIASSEMANA AS $key){
  164. print "<td bgcolor=#ccccff><b>$key</b></td>";
  165. }
  166. print "</tr>";
  167.  
  168. //Calendario shit!!!
  169. for($a=1;$a <= $TotalDeCeldas;$a++){ // Conteo de celdas del mes
  170. if(!$b) $b = 0;
  171. if($b == 7) $b = 0;
  172. if($b == 0) print '<tr>';
  173. if(!$c) $c = 1;
  174. if($a > $EmpiezaMesCalOffset AND $c <= $TotalDiasMes){
  175. if($c == date(d) && $mes == date(m) && $ano == date(Y)){
  176. print "<td bgcolor="#ffcc99">$c<br></td>";
  177. }elseif($b == 0 OR $b == 6){
  178. print "<td bgcolor=#99cccc>$c</td>";
  179. }else{
  180. print "<td bgcolor="#EEEEEE">$c</td>";
  181. }
  182. $c++;
  183. }else{
  184. print "<td> </td>";
  185. }
  186. if($b == 6) print '</tr>';
  187. $b++;
  188. }
  189. print "<tr><td align=center colspan=7><a href="$PHP_SELF"><img src=botones/today.gif border=0></a></td></tr>";
  190. print "</table>";
  191. ?>
  192. </body>
  193. </html>
Cysiaczek
Najpierw:
  1. <?php
  2. // tworzysz array z twoimi dniami tygodnia np.
  3. $zPliku=file_get_contents("dni.txt");
  4. $zPliku=explode(",", $zPliku);
  5. foreach ($zPliku as $value){
  6. $dni[]=$value;
  7. }
  8. ?>


Potem tak:
  1. <?php
  2. //Calendario shit!!!
  3. for($a=1;$a <= $TotalDeCeldas;$a++){ // Conteo de celdas del mes
  4. if(!$b) $b = 0;
  5. if($b == 7) $b = 0;
  6. if($b == 0) print '<tr>';
  7. if(!$c) $c = 1;
  8. if($a > $EmpiezaMesCalOffset AND $c <= $TotalDiasMes){
  9. if($c == date(d) && $mes == date(m) && $ano == date(Y)){
  10. print "<td bgcolor="#ffcc99">$c<br></td>";
  11. }elseif($b == 0 OR $b == 6){
  12. print "<td bgcolor=#99cccc>$c</td>";
  13.  
  14.  
  15. //Tu dodajesz instrukcję warunkową
  16. elseif(array_search($c, $dni)!==false){
  17. print "<td bgcolor="red">$c</td>"; //jak trafi na właściwy dzien, to pokoloruje na czrwono tongue.gif
  18. }
  19.  
  20.  
  21. }else{
  22. print "<td bgcolor="#EEEEEE">$c</td>";
  23. }
  24. $c++;
  25. }else{
  26. print "<td> </td>";
  27. }
  28. if($b == 6) print '</tr>';
  29. $b++;
  30. }
  31. ?>


O to chodzi?
august
dzięki wielkie, spróbuje - tylko przetrawię powoli Twój kod. smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.