Integrating jQuery fullcalendar into PHP website

前端 未结 11 862
夕颜
夕颜 2021-02-01 09:28

I would like to integrate the jQuery fullcalendar into my PHP website, but I don\'t know how to handle the event and how to use the JSON data from MySQL.

Any advice wou

相关标签:
11条回答
  • 2021-02-01 10:18

    This example works:

    $sql= "SELECT id, title, start, DATE_FORMAT(start, '%Y-%m-%dT%H:%i' ) AS startDate
    FROM kalender
    ORDER BY startDate DESC";
    $res = mysql_db_query($db, $sql, $conn) or die(mysql_error());
    
    $events = array();
    //important ! $start = "2010-05-10T08:30";  iso8601 format !!
    while ($row = mysql_fetch_assoc($res)) {
       $eventArray['id'] = $row['id'];
       $eventArray['title'] =  $row['title'];
       $eventArray['start'] = $row['startDate'];
       $events[] = $eventArray;
    }
    echo json_encode($events);
    
    0 讨论(0)
  • 2021-02-01 10:20

    implement it this way and it works fine

    $result = mysql_query("SELECT * FROM eventoform",$conexion);
            $array = array();
            $i = 0;
            while ($row = mysql_fetch_array($result)) {
                $array[$i]=array("id"=>$row["id_evento"],"title"=>$row["NombreEvento"],"start"=>$row["FechaInicio"]." ".$row["HoraInicio"],"allDay"=>false,"description"=>$row["description"],"editable"=>true);
                $i++;
            }
    
     echo json_encode($array);
    
    0 讨论(0)
  • 2021-02-01 10:21

    Make sure that your PHP can output the following HTML code:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                        "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
      <script src="http://code.jquery.com/jquery-latest.js"></script>
    
      <script>
      $(document).ready(function(){
        $('#example').calendar();
      });
      </script>
    
    </head>
    <body>
      <link rel="stylesheet" href="http://dev.jquery.com/view/trunk/themes/flora/flora.all.css" type="text/css" media="screen" title="Flora (Default)">
    <script  src="http://dev.jquery.com/view/trunk/plugins/calendar/jquery-calendar.js"></script>
    <input type="text" id="example" value="Click inside me to see a calendar" style="width:300px;"/>
    </body>
    </html>
    

    Here's a sample how you can do it, by using json_encode:

    $(document).ready(function() { 
    
          $('#calendar').fullCalendar({ 
             draggable: true, 
             events: "json_events.php", 
             eventDrop: function(event, delta) { 
                alert(event.title + ' was moved ' + delta + ' days\n' + 
                   '(should probably update your database)'); 
             }, 
             loading: function(bool) { 
                if (bool) $('#loading').show(); 
                else $('#loading').hide(); 
             } 
          }); 
    
       });
    

    And here's the PHP code:

    <?php
    
       $year = date('Y'); 
       $month = date('m');
    
       echo json_encode(array( 
    
          array( 
             'id' => 1, 
             'title' => "Event1", 
             'start' => "$year-$month-10", 
             'url' => "http://yahoo.com/" 
          ), 
    
          array( 
             'id' => 2, 
             'title' => "Event2", 
             'start' => "$year-$month-20", 
             'end' => "$year-$month-22", 
             'url' => "http://yahoo.com/" 
          ) 
    
       ));
    
    ?>
    
    0 讨论(0)
  • 2021-02-01 10:22

    just in case there is someone using rails with jbuilder to generate the json feed...you have to add the allDay attribute ...

    json.array!(@resubmissions) do |object|
      json.id object.id
      json.title "WVL - #{object.to_s}"
      json.start object.resubmission_at.to_i
      json.allDay false
    end
    

    However, thanks for the PHP solution!

    0 讨论(0)
  • 2021-02-01 10:25

    I had the same problem and just found out how to make it work. Here is the code that you should use in your php file:

    $query = "select * from events where accountNo = '$accountNo'";
    $res = mysql_query($query) or die(mysql_error());
    $events = array();
    while ($row = mysql_fetch_assoc($res)) {
        $start = "2010-01-08T08:30"";//Here you have to format data from DB like this.
        $end = "2010-01-08T08:30";//This format works fine
        $title = $row['firstName']." ".$row['lastName'];
        $eventsArray['id'] =  $row['id'];
        $eventsArray['title'] = $title;
        $eventsArray['start'] = $start;
        $eventsArray['end'] = $end;
        $eventsArray['allDay'] = "";
        $events[] = $eventsArray;
    }
    
    
    echo json_encode($events);
    

    I hope it helps :).

    0 讨论(0)
提交回复
热议问题