¿Como mostrar mis datos de base de datos en el calendario?

Iniciado por Drakaris, 1 Mayo 2017, 21:31 PM

0 Miembros y 1 Visitante están viendo este tema.

Drakaris

Hola, soy novato en php y mysql y me gustaría hacer un calendario php mysql, ví el tutorial de https://www.codexworld.com/build-event-calendar-using-jquery-ajax-php/ y me gustó mucho, me arrancó bien pero me gustaría que demostrara mis datos de la DB en el calendario.
Mi tabla es la siguiente:



fechatipoeventootromateriaasuntotareaevento

Yo modifiqué el código:

<?php
/*
 * Function requested by Ajax
 */
if(isset($_POST['func']) && !empty($_POST['func'])){
switch(
$_POST['func']){
case 
'getCalender':
getCalender($_POST['year'],$_POST['month']);
break;
case 
'getEvents':
getEvents($_POST['date']);
break;
default:
break;
}
}

/*
 * Get calendar full HTML
 */
function getCalender($year '',$month '')
{
$dateYear = ($year != '')?$year:date("Y");
$dateMonth = ($month != '')?$month:date("m");
$date $dateYear.'-'.$dateMonth.'-01';
$currentMonthFirstDay date("N",strtotime($date));
$totalDaysOfMonth cal_days_in_month(CAL_GREGORIAN,$dateMonth,$dateYear);
$totalDaysOfMonthDisplay = ($currentMonthFirstDay == 7)?($totalDaysOfMonth):($totalDaysOfMonth $currentMonthFirstDay);
$boxDisplay = ($totalDaysOfMonthDisplay <= 35)?35:42;
?>

<div id="calender_section">
<h2>
       <a href="javascript:void(0);" onclick="getCalendar('calendar_div','<?php echo date("Y",strtotime($date.' - 1 Month')); ?>','<?php echo date("m",strtotime($date.' - 1 Month')); ?>');">&lt;&lt;</a>
           <select name="month_dropdown" class="month_dropdown dropdown"><?php echo getAllMonths($dateMonth); ?></select>
<select name="year_dropdown" class="year_dropdown dropdown"><?php echo getYearList($dateYear); ?></select>
           <a href="javascript:void(0);" onclick="getCalendar('calendar_div','<?php echo date("Y",strtotime($date.' + 1 Month')); ?>','<?php echo date("m",strtotime($date.' + 1 Month')); ?>');">&gt;&gt;</a>
       </h2>
<div id="event_list" class="none"></div>
<div id="calender_section_top">
<ul>
<li>Domingo</li>
<li>Lunes</li>
<li>Martes</li>
<li>Mi&eacute;rcoles</li>
<li>Jueves</li>
<li>Viernes</li>
<li>S&aacute;bado</li>
</ul>
</div>
<div id="calender_section_bot">
<ul>
<?php 
$dayCount 
1
for(
$cb=1;$cb<=$boxDisplay;$cb++){
if((
$cb >= $currentMonthFirstDay+|| $currentMonthFirstDay == 7) && $cb <= ($totalDaysOfMonthDisplay)){
//Current date
$currentDate $dateYear.'-'.$dateMonth.'-'.$dayCount;
$eventNum 0;
//Include db configuration file
include 'dbConfig.php';
//Get number of events based on the current date
$result $db->query("SELECT fecha FROM 1esoacalendar WHERE date = '".$currentDate."' AND status = 1");
$eventNum $result->num_rows;
//Define date cell color
if(strtotime($currentDate) == strtotime(date("Y-m-d"))){
echo 
'<li date="'.$currentDate.'" class="grey date_cell">';
}elseif(
$eventNum 0){
echo 
'<li date="'.$currentDate.'" class="light_sky date_cell">';
}else{
echo 
'<li date="'.$currentDate.'" class="date_cell">';
}
//Date cell
echo '<span>';
echo 
$dayCount;
echo 
'</span>';
//Hover event popup
echo '<div id="date_popup_'.$currentDate.'" class="date_popup_wrap none">';
echo 
'<div class="date_window">';
echo 
'<div class="popup_event">Eventos ('.$eventNum.')</div>';
echo (
$eventNum 0)?'<a href="javascript:;" onclick="getEvents(\''.$currentDate.'\');">Ver eventos</a>':'';
echo 
'</div></div>';
echo 
'</li>';
$dayCount++;
?>

<?php }else{ ?>
<li><span>&nbsp;</span></li>
<?php } } ?>
</ul>
</div>
</div>

<script type="text/javascript">
function getCalendar(target_div,year,month){
$.ajax({
type:'POST',
url:'functions.php',
data:'func=getCalender&year='+year+'&month='+month,
success:function(html){
$('#'+target_div).html(html);
}
});
}
function getEvents(date){
$.ajax({
type:'POST',
url:'functions.php',
data:'func=getEvents&date='+date,
success:function(html){
$('#event_list').html(html);
$('#event_list').slideDown('slow');
}
});
}
function addEvent(date){
$.ajax({
type:'POST',
url:'functions.php',
data:'func=addEvent&date='+date,
success:function(html){
$('#event_list').html(html);
$('#event_list').slideDown('slow');
}
});
}
$(document).ready(function(){
$('.date_cell').mouseenter(function(){
date = $(this).attr('date');
$(".date_popup_wrap").fadeOut();
$("#date_popup_"+date).fadeIn();
});
$('.date_cell').mouseleave(function(){
$(".date_popup_wrap").fadeOut();
});
$('.month_dropdown').on('change',function(){
getCalendar('calendar_div',$('.year_dropdown').val(),$('.month_dropdown').val());
});
$('.year_dropdown').on('change',function(){
getCalendar('calendar_div',$('.year_dropdown').val(),$('.month_dropdown').val());
});
$(document).click(function(){
$('#event_list').slideUp('slow');
});
});
</script>
<?php
}

/*
 * Get months options list.
 */
function getAllMonths($selected ''){
$options '';
for(
$i=1;$i<=12;$i++)
{
$value = ($i 10)?'0'.$i:$i;
$selectedOpt = ($value == $selected)?'selected':'';
$options .= '<option value="'.$value.'" '.$selectedOpt.' >'.date("F"mktime(000$i+100)).'</option>';
}
return 
$options;
}

/*
 * Get years options list.
 */
function getYearList($selected ''){
$options '';
for(
$i=2015;$i<=2025;$i++)
{
$selectedOpt = ($i == $selected)?'selected':'';
$options .= '<option value="'.$i.'" '.$selectedOpt.' >'.$i.'</option>';
}
return 
$options;
}

/*
 * Get events by date
 */
function getEvents($date ''){
//Include db configuration file
include 'dbConfig.php';
$eventListHTML '';
$date $date?$date:date("Y-m-d");
//Get events based on the current date
$result $db->query("SELECT * FROM 1esoacalendar WHERE date = '".$date."' AND fecha = 1");
if(
$result->num_rows 0){
$eventListHTML '<h2>Eventos en '.date("l, d M Y",strtotime($date)).'</h2>';
$eventListHTML .= '<ul>';
while(
$row $result->fetch_assoc()){ 
            
$eventListHTML .= '<li>'.$row['tipoevento'].'</li>';
            
$eventListHTML .= '<li>'.$row['otro'].'</li>';
            
$eventListHTML .= '<li>'.$row['materia'].'</li>';
            
$eventListHTML .= '<li>'.$row['asunto'].'</li>';
            
$eventListHTML .= '<li>'.$row['tarea'].'</li>';
            
$eventListHTML .= '<li>'.$row['evento'].'</li>';
        }
$eventListHTML .= '</ul>';
}
echo 
$eventListHTML;
}
?>



pero no me va, el calendario arranca pero no me muestra los eventos.

Atentamente IVÁN HEREDIA PLANAS. Gracias.
Lo increible, no es lo que ves, sino como es