Nano Hash - криптовалюты, майнинг, программирование

FullCalendar: как получить данные из БД и показать в событиях (в виде json-канала)

Я новичок в fullcalendar и ajax. У меня возникли трудности с извлечением данных из базы данных, и эти данные должны отображаться в моем полном календаре. Я пробовал код, чтобы сделать то же самое. но я не могу получить данные через ajax в виде канала json. Пока я получаю данные из базы данных через codeigniter MVC. но я не могу передать данные в событие полного календаря.

 The following is my view file: calendar.php


<script>
$(document).ready(function() {


$.ajax({
    url: "<?php echo base_url() ?>/common/calendar/show_holidays",
    type: 'POST', // Send post data
    data: 'type=fetch',
    async: true,
    success: function(s){
          freshevents = s;//alert(s);
    } 
});

$('#calendar').fullCalendar('addEventSource', JSON.parse(freshevents));

    /* initialize the calendar
    -----------------------------------------------------------------*/

    $('#calendar').fullCalendar({
        //events: JSON.parse(json_events),
        //events: [{"id":"14","title":"New Event","start":"2015-01-24T16:00:00+04:00","allDay":false}],
        utc: true,
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
        },
        editable: true,
        droppable: true, 
        events: {

        }

    });

   });
    </script>

Ответы:


1

Сначала вам нужно разобрать SQL результирующий набор на JSON, вы можете сделать это с помощью следующих PHP функций:

Подключиться к функции БД:

function connectDB(){
   $con = mysqli_connect("HOST", "USER", "PASS", "DB");
    if($con){
        echo 'OK';
    }else{
        echo 'KO';
    }   
    return $con;
}

Функция отключения от БД:

function disconnectDB($con){
    $close = mysqli_close($con);

    if($close){
        //echo 'OK';
    }else{
        //echo 'KO';
    }   
    return $close;
}

Функция для получения синтаксического анализа JSON из одного набора результатов:

function getArraySQL(){
    $conexion = connectDB();
    //generate SQL query
    if(!$result = mysqli_query($conexion, "SELECT title,color,start FROM events")) die();

    $rawdata = array();

    while($row = mysqli_fetch_array($result))
    {
        $title=$row['title'];
        $color=$row['color'];
        $start=$row['start'];

        $rawdata[] = array('title'=> $title, 'color'=> $color, 'start'=> $start);
    }
    disconnectDB($conexion);
    //Parse to JSON and return
    $rawdata=json_encode($rawdata);
    return $rawdata;
}

После этого шага вы можете включить JSON в скрипт календаря events:

$(document).ready(function() {
    $('#calendar').fullCalendar({
        header: {
          left: 'prev,next today',
          center: 'title',
          right: 'month,agendaWeek'
        },
        events: <?php 
        $result = array();
        $result=getArraySQL();
        if(isset($result)){
            echo $result;
        }
        ?>,
        eventRender: function (event, element) {
        element.attr('href', 'javascript:void(0);');
        element.click(function() {
            alert(event.title);
        });
    }
    });

});

Надеюсь, это поможет вам.

19.05.2016
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..