Cita:
Iniciado por mysterio069 esque yo lo que quiero es sacar los datos de la BD y que me los adapte al script, por eso lo puse en PHP, alquien me puede ayudar??
en php tengo el que posteaste primero lo modifique para que saque los dias desde una bd.
tienes que modificar las consultas para que te funcione y modifica la parte final para mostrar lo que quieres de acuerdo a la fecha
Código PHP:
<?php
//$db necesario para pasarselo a la funcion
$db = mysql_connect("localhost","root","") or die("Error Conexion");
mysql_select_db("nombre_bd") or die("error de seleccion");
function IntDiv ($num, $dvsr)
{
$negate = 0;
$result = 0;
if ($dvsr == 0)
return null;
else {
if ($num * $dvsr < 0 )
$negate = 1;
if ($num < 0)
$num = -$num;
if ($dvsr < 0)
$dvsr = -$dvsr;
$result = (($num - ($num % $dvsr)) / $dvsr);
if ($negate)
return -$result;
else
return $result;
}
}
function GetMonth($m)
{
switch($m){
case 3:
return ("Marzo");
break;
case 4:
return ("Abril");
break;
case 5:
return ("Mayo");
break;
}
}
function GetOrdinal($d)
{
$rmdr = $d % 10;
if ((($d >= 4) and ($d <= 20)) or ($rmdr == 0) or ($rmdr > 3))
return ($d + "th");
else {
switch($rmdr){
case 1:
return ($d + "st");
break;
case 2:
return ($d + "nd");
break;
case 3:
return ($d + "rd");
break;
}
}
}
function CalendarioPHP($year, $month, $day_heading_length = 3,$db){
$nombreFichero = basename($_SERVER['PHP_SELF']);
$ColorFondoCelda = '#CCCCCC';
$ColorFondoTabla = '#666666';
$ColorFondoCeldasDiaSemana = '#fff4bf';
$ColorFondoCeldasFestivo = '#ee0000';
$ColorFondoCeldasFinDeSemana = '#110000';
$ColorFondoCeldaDiaActual = '#00ff00';
$ColorDiaLaboral = '#444444';
$ColorDiaFestivo = '#ffffff';
$ColorDiaFinDeSemana = '#ffff00';
$ColorDiaActual = '#0000ff';
$TamanioFuente = '1';
$TipoFuente = 'Arial, Helvetica, sans-serif';
$AnchoCalendario = '1%';
$AltoCalendario = '1%';
$AnchoCeldas = '1%';
$AltoCeldas = '1%';
$AlineacionHorizontalTexto = 'center';
$AlineacionVerticalTexto = 'center';
$dia_actual=date("j",time());
$mes_actual=date("n",time());
$anio_actual=date("Y",time());
$first_of_month = mktime (0,0,0, $month, 1, $year);
static $day_headings = array('Lunes','Martes','Miercoles','Jueves','Viernes','Sabado','Domingo');
$maxdays = date('t', $first_of_month);
$date_info = getdate($first_of_month);
$month = $date_info['mon'];
$year = $date_info['year']; //va cambiando el año
// $year = date("Y");//siemrpe año actual
// ----------- INICIO Dias Festivos ----------
//se selecciona de la BD los festivos horario_extra=1
$SQL_2 = 'SELECT fecha FROM fechas WHERE horario_extra=1 AND YEAR(fecha)="'. $year .'"';
$RES_2 = mysql_query($SQL_2);
while($row = mysql_fetch_row($RES_2)){
$DiasFestivos[] = date("j/n",strtotime($row[0]));
}
switch ($date_info['mon']) {
case 1 : $date_info['month']="Enero";break;
case 2 : $date_info['month']="Febrero";break;
case 3 : $date_info['month']="Marzo";break;
case 4 : $date_info['month']="Abril";break;
case 5 : $date_info['month']="Mayo";break;
case 6 : $date_info['month']="Junio";break;
case 7 : $date_info['month']="Julio";break;
case 8 : $date_info['month']="Agosto";break;
case 9 : $date_info['month']="Septiembre";break;
case 10 : $date_info['month']="Octubre";break;
case 11 : $date_info['month']="Noviembre";break;
case 12 : $date_info['month']="Diciembre";break;
};
$calendar = ("<table ").
("border='0' ").
("height='".$AltoCalendario."' ").
("width='".$AnchoCalendario."' ").
("cellspacing='1' cellpadding='2' ").
("bgcolor='".$ColorFondoTabla."'> ");
$calendar .= "<td align='center' valign='center' colspan='7'>";
$calendar .= "<form method='POST' action='". $_SERVER['PHP_SELF'] ."' name='calendario' target='_self'>";
$calendar .= "<p><center><input type='submit' value='< Mes' name='mesmenos'><input type='submit' value='Mes >' name='mesmas'></center></p>";
$calendar .= "<input type='hidden' name='anoactual' value='$year'><input type='hidden' name='mesactual' value='$month'>";
$calendar .= "</form>";
$calendar .= "</td>";
$calendar .= "</tr> ";
$calendar .= ("<tr> ").
("<th height='".$AltoCeldas."' colspan='7'>").
("<font color='".$ColorDiaFestivo."' size=".$TamanioFuente." face='".$TipoFuente."'>").
("$date_info[month], $year").
("</font>").
("</th> </tr> ");
if($day_heading_length > 0 and $day_heading_length <= 4){
$calendar .= "<tr> ";
foreach($day_headings as $day_heading){
$calendar .= ("<th height='".$AltoCeldas."' abbr='".$day_heading."' class='dayofweek' bgcolor='".$ColorFondoCeldasDiaSemana."'>").
("<font color='".$ColorDiaLaboral."' size='".$TamanioFuente."' face='".$TipoFuente."'>").
($day_heading_length != 4 ? substr($day_heading, 0, $day_heading_length) : $day_heading).
("</font>").
("</th> ");
}
$calendar .= "</tr> ";
}
$calendar .= "<tr> ";
$weekday = $date_info['wday']-1; //Para el primer dia de la semana
//$weekday = $date_info['wday']-1;
if ($weekday==-1) $weekday=6;
$day = 1; #starting day of the month
if($weekday > 0){
$calendar .= ("<td bgcolor='".$ColorFondoTabla).
("' colspan='".$weekday."'></td> ");
}
while ($day <= $maxdays){
if($weekday == 7){
$calendar .= "</tr> <tr> ";
$weekday = 0;
}
$esFestivo = 0;
$tmp_date=$day."/".$month;
for ($i=0;$i<count($DiasFestivos);$i++) {
if ($tmp_date==$DiasFestivos[$i]) {$esFestivo=1;break;}
}
$calendar .= ("<td width='".$AnchoCeldas).
("' height='".$AltoCeldas).
("' align='".$AlineacionHorizontalTexto).
("' valign='".$AlineacionVerticalTexto).
("' ");
$calendar .= "bgcolor='";
if (($day==$dia_actual) and ($month==$mes_actual) and ($year==$anio_actual)) {
$calendar .= $ColorFondoCeldaDiaActual;
} else {
if (($esFestivo==1)) {
$calendar .= $ColorFondoCeldasFestivo;
} else {
if (($weekday == 0) or ($weekday == 6)) {
//$calendar .= $ColorFondoCeldasFinDeSemana;
$calendar .= $ColorFondoCelda;
} else {
$calendar .= $ColorFondoCelda;
}
};
};
$fechalink = date("Y-m-d",mktime (0,0,0, $month, $day, $year));
$link = (basename($_SERVER["PHP_SELF"]))."?anoactual=$year&mesactual=$month&fecha=".$fechalink;
$calendar .= "'><a href='".$link."'><font color='";
if (($day==$dia_actual) and ($month==$mes_actual) and ($year==$anio_actual)) {
$calendar .= $ColorDiaActual;
} else {
if ($esFestivo==1){
$calendar .= $ColorDiaFestivo;
} else {
if (($weekday == 0) or ($weekday == 6)) {
//$calendar .= $ColorDiaFinDeSemana;
$calendar .= $ColorDiaLaboral;
}else{
$calendar .= $ColorDiaLaboral;
}
};
};
$calendar .= ("' ").
("size='".$TamanioFuente."' ").
("face='".$TipoFuente."'><strong>".$day).
("</strong></font></a>").
("</td> ");
$day++;
$weekday++;
}
if($weekday != 7){
$calendar .= '<td bgcolor="'.$ColorFondoTabla.'" colspan="' . (7 - $weekday) . '"></td>';
}
$calendar .= "</tr> ";
$calendar .= "<tr>";
$calendar .= "</table> ";
return $calendar;
}
extract($_POST);
extract($_GET);
if (!isset($mesactual) OR $mesactual == ''){
$mesactual=date("n",time());
}
if (!isset($anoactual) OR $anoactual==''){
$anoactual=date("Y",time());
}
$dia_actual=date("d",time());
$mes_actual = date("n",mktime (0,0,0, $mesactual, $dia_actual, $anoactual));
$anio_actual = date("Y",mktime (0,0,0, $mesactual, $dia_actual, $anoactual));
if (isset($mesmenos) AND $mesmenos != ''){
$mes_actual = date("n",mktime (0,0,0, $mesactual-1, $dia_actual, $anoactual));
$anio_actual = date("Y",mktime (0,0,0, $mesactual-1, $dia_actual, $anoactual));
}
if (isset($mesmas) AND $mesmas !=''){
$mes_actual = date("n",mktime (0,0,0, $mesactual+1, $dia_actual, $anoactual));
$anio_actual = date("Y",mktime (0,0,0, $mesactual+1, $dia_actual, $anoactual));
}
if (isset($anomenos) AND $anomenos !=''){
$mes_actual = date("n",mktime (0,0,0, $mesactual, $dia_actual, $anoactual));
$anio_actual = date("Y",mktime (0,0,0, $mesactual, $dia_actual, $anoactual));
}
if (isset($anomas) AND $anomas !=''){
$mes_actual = date("n",mktime (0,0,0, $mesactual, $dia_actual, $anoactual));
$anio_actual = date("Y",mktime (0,0,0, $mesactual, $dia_actual, $anoactual));
}
echo CalendarioPHP($anio_actual, $mes_actual, 4, $db);
echo '<br> <br> <br>';
//Aca haces la consulta a la BD para el detalle del dia en caso de tenerlo
//En este caso lo que hace es dar la opcion de modificar el tipo de dia, festivo o habil
if(isset($_GET['anoactual']) AND isset($_GET['mesactual']) AND isset($_GET['fecha'])){
$SQL = "SELECT * FROM fechas WHERE fecha = '". $_GET['fecha'] ."'";
$RES = mysql_query($SQL);
$calendario = mysql_fetch_assoc($RES);
echo '<form name="f_cal" method="POST" action="'. $_SERVER['PHP_SELF'] .'">';
echo '<center>Fecha: ' . $calendario['fecha'];
echo '<select name="cambiar_festivo">';
if($calendario['horario_extra'] == 1){
echo '<option value="1" selected>Dia Festivo</option>';
echo '<option value="0">Dia Hábil</option>';
}
else{
echo '<option value="0" selected>Dia Hábil</option>';
echo '<option value="1">Dia Festivo</option>';
}
echo '</select> <input type="hidden" name="fecha_cambiar" value="'. $calendario['fecha'] .'">
<input type="submit" name="enviar" value="Cambiar"></center>
</form><br> <br> <br>';
}
?>