2013-04-08 2 views
3

Привет друзья В моем приложении я действительно создаю всплывающую страницу, которая вставляет события в базу данных, а также извлекает события из базы данных, но события не отображаются в зависимости от времени. Данные/чтение имеют массив числа событий с EventID, EVENTTITLE, начало, конец & формат массива, какКак показать события из базы данных со временем в fullcalendar


[{ "ID": "10", "название": "ramukaka", "старт": "2013-04- 04 18:44:00 "," конец ":" 2013-04-05 18:44:00 "}, {" id ":" 11 "," title ":" rameshbhai "," start ":" 2013- 04-11 20:28:00 "," конец ":" 2013-04-03 20:28:00 "}]


Так что я должен делать, я не знаю и больше Теперь им пытаюсь обновить события, которые снова открывают всплывающее окно с уже заполнением в режиме редактирования &, если изменения в событиях, таких как изменение названия или перетаскивание на другую дату, также сохраняются в база данных по EventID (уникальный для каждого события), так что я должен сделать мой код такой же, как ниже


1) Как сохранить обновления события/события в базе данных, если существуют события изменения

2) после того, как успешно вставить не является оповещением

3) В источниках событий как к fe время_запуска событие TCH, EndTime который является такой же, как формат MySQL ("YYYY-MM-дд H: мм: сс")

4) Как удалить событие или события с помощью EventID и изменения также сделано в базе данных

JavaScript:

<script> 

    $(document).ready(function() { 
     var count=0; 
     var liveDate=new Date(); 
     var dat = new Date(); 
     var d = dat.getDate(); 
     var m = dat.getMonth(); 
     var y = dat.getFullYear(); 
     $.getJSON("<?php echo base_url(); ?>names",function(data){ 
      var select = $('#AgentName'); //combo/select/dropdown list 
      if (select.prop) { 
       var options = select.prop('options'); 
      } 
      else { 
       var options = select.attr('options'); 
      } 
      $('option', select).remove(); 
      $.each(data, function(key, value){ 
       options[options.length] = new Option(value['name'], value['id']); 
      }); 
     }); 
     var calendar = $('#calendar').fullCalendar({ 
      header: { 
       left: 'prev,next today', 
       center: 'title', 
       right: 'month,agendaWeek,agendaDay' 
      }, 
      selectable: true, 
      selectHelper: true, 
      select: function(start, end, allDay) { 
       $("#popup").show(); 
       $("#eventName").focus(); 
       $("#submit").click(function(){ 
        var title=$("#eventName").val(); 
        if (title) { 
         calendar.fullCalendar('renderEvent',{ 
          title: title, 
          start: start, 
          end: end, 
          allDay: false 
          }, 
         true // make the event "stick" 
         ); 
         var dataString={}; 
         dataString['eventName']=title; 
         dataString['startTime']=$.fullCalendar.formatDate(start, "yyyy-MM-dd H:mm:ss"); 
         dataString['endTime']=$.fullCalendar.formatDate(end, "yyyy-MM-dd H:mm:ss"); 
         $.ajax({ 
          type : 'POST', 
          dataType : 'json', 
          url : '<?php echo base_url(); ?>data/insert', 
          data: dataString, 
          success: function(data) { 
           alert("Data Insert SuccessFully"); 
           if(data.success) 
            alert("Data Insert SuccessFully"); 
          } 
         }); 
        } 
       }); 
      }, 
      editable: true, 
      viewDisplay: function(view) { 
       if(view.name=="month" && count==0){ 
        var a=$(".fc-day-number").prepend("<img src='/assets/images/add.jpg' width='20' height='20'style='margin-right:80px;' name='date'>");          
        count++; 
       } 
      }, 
      eventSources: [ 
       { 
        url: '<?php echo base_url(); ?>data/read', 
        type: 'POST', 
        id:id, 
        title:title, 
        start:new Date(start), 
        end:new Date(end),// use the `url` property 
        color: '#65a9d7', // an option! 
        textColor: '#3c3d3d' // an option! 
       }      
      ], 
      eventClick : function (start,end){ 
       $("#popup").open(); 
       $("#submit").click(function(){ 
        var title=$("#eventName").val(); 
        if (title) { 
         calendar.fullCalendar('renderEvent',{ 
          title: title, 
          start: start, 
          end: end, 
          allDay: false 
          }, 
          true // make the event "stick" 
         ); 
         var dataString={}; 
         dataString['eventName']=title; 
         dataString['startTime']=$.fullCalendar.formatDate(start, "yyyy-MM-dd H:mm:ss"); 
         dataString['endTime']=$.fullCalendar.formatDate(end, "yyyy-MM-dd H:mm:ss"); 
         $.ajax({ 
          type : 'POST', 
          dataType : 'json', 
          url : '<?php echo base_url(); ?>data/update', 
          data: dataString, 
          success: function(data) { 
           alert("Data Insert SuccessFully"); 
           if(data.success) 
            alert("Data Insert SuccessFully"); 
          } 
         }); 
        } 
        calendar.fullCalendar('unselect'); 
        calendar.fullCalendar('refetchEvents'); 
        $("#popup").hide(); 
       }); 
      } 

     }); 
    }); 
</script> 

CSS CODE: 
<style> 
/* 
*/  body { 
       text-align: left; 
       font-size: 14px; 
       font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif; 
       } 
     #calendar { 
       width: 70%; 
       margin: 0 auto; 
       text-align:left; 
       } 
     #popup{ 
position: fixed; 
    z-index:100; 
    top: 0px; 
    left: 0px; 
    height:100%; 
    background: #000; 
    display: none; 
    width:100%; 
    height: 100%; 
    opacity:0.5; 
    border:1px; 
    font-size: 13px; 
    padding-top: 20%; 
    padding-left: 43%; 
    border-color: #0033ff; 
     } 
     #popup table{ 
      border-color: #00620C; 
      border-style: solid; 
      border: 5px; 

     } 
     #popup input{ 
      width:80px; 
      border-radius: 5px; 
     } 
     #popup table label{ 
      font-size: 12px; 
     } 
</style> 

HTML CODE: 

<div class="wrapper"> 
    <div id='calendar'></div> 
    <div id="detail"></div> 
    <div id="popup"> 
     <form name="addData" id="addData" action="" method="post"> 
      <table> 
       <tr> 
        <td><input type="hidden" name="eventID" id="eventID"></td> 
       </tr> 
       <tr> 
        <td><label for="eventName">Description : </label></td> 
        <td><input name="eventName" id="eventName"type="text"></td> 
       </tr> 
       <tr> 
        <td><label for="AgentName">AgentName : </label></td> 
        <td><select name="AgentName" id="AgentName"></select></td> 
       </tr> 
       <tr> 
        <td><label for="UserName">UserName : </label></td> 
        <td><select name="UserName" id="UserName"></select></td> 
       </tr> 
       <tr> 
        <td align="left"colspan="2"><button type="submit"class="k-button" name="submit" id="submit">Submit</button> 
         <button type="reset" name="reset" class="k-button" id="reset">Reset</button> 
         <button type="submit"class="k-button" name="cancel" id="cancel">Cancel</button> 
        </td> 
       </tr> 
      </table> 
     </form> 
    </div> 
</div> 

ответ

1

Н ello Друзья Fullcalendar работает отлично с MySql Format Просто сделайте в скрипте

eventSources: [ 
        { 
         url: '<?php echo base_url(); ?>data/read', 
         type: 'POST', 
         **allDayDefault:false,** 
         color: '#65a9d7', // an option! 
         textColor: '#3c3d3d' // an option! 

        }      
       ], 
3

только URL-адрес атрибута событий, возвращающего данные Json из базы данных.

$('#calendar').fullCalendar({ 

     header: { 
      left: 'prev,next today', 
      center: 'title', 
      right: 'month,basicWeek,basicDay' 
     }, 
     editable: true, 
     async : false, 
     timeFormat: { 

         '': 'h:mm{ - h:mm}'   
          }, 
     events: { 
      url: "http://url/getMonthlyEventList" 
      } 
}); 

и данные json могут быть в этом формате. отлично работая со мной.

 [{"title":"event1","start":"2013-10-12 13:00:00","end":"2013-10-18 16:00:00","allDay":0}, 
     {"title":"event2","start":"2013-10-28 13:00:00","end":"2013-10-28 15:00:00","allDay":0}] 
1

Я просто попытался это ... я поставил всю информацию о функции, как это ...

function data_calendario(){ 
    global $wpdb; 
    $clientes = $wpdb->prefix . "dbt_clientes"; 
    $result = $wpdb->get_results("SELECT id_room Pieza, fecha_ingr FROM " . $clientes . " WHERE fecha_ingr >= '2015-08-01' AND cancelado = 0"); 

    foreach ($result as $rs){ 


     $pieza = $rs->Pieza; 
     $fecha_ingreso = $rs->fecha_ingr; 
     //$Cant_mes_ant = $rs->Cant_mes_ant; 
     //$Cant_mes_ant2 = $rs->Cant_mes_ant2; 

     echo "{title: '$pieza', start: '$fecha_ingreso'},"; 
    } 
} 

После этого, я просто называю данные в fullcalendar, как это. ..

$(document).ready(function() { 

// page is now ready, initialize the calendar... 

$('#calendar').fullCalendar({ 
    // put your options and callbacks here 

    windowResize: function(view) { 
    alert('The calendar has adjusted to a window resize'); 
}, 

    header: { 
    left: 'prev,next today', 
    center: 'title', 
    right: 'month,agendaWeek,agendaDay' 
}, 
dayClick: function(date, allDay, jsEvent, view) { 

    if (allDay) { 
     // Clicked on the entire day 
     $('#calendar') 
      .fullCalendar('changeView', 'basicDay'/* or 'agendaDay' */) 
      .fullCalendar('gotoDate', 
       date.getFullYear(), date.getMonth(), date.getDate()); 
    } 
}, 

    events: [ 

<?php data_calendario();?> //this is where I call the data 
], 
color: 'yellow', // an option! 
textColor: 'black' // an option! 

    }) 

}); 

И вот это ... очень просто ...

надеюсь, что это помогает

Nacho

Смежные вопросы