CLNDR.js - adatolvasás
2019-10-01T11:32:06+02:00
2019-10-01T15:08:40+02:00
2022-08-10T18:05:28+02:00
COCLaszlo
Sziasztok!

Az előző tudástér kérdésben egyik posztoló által sikerült megoldanom,hogy datetime mezőből hogyan generáljak date mezőt SQL-el. 

Viszont az eredmény amit meg kellene jelenítenem a naptárnézetben csak egyik fele működik azaz mutatja a naptárban,hogy vannak események de megjeleníteni bövebben már nem. 

Ez a leírás alapján csináltam meg: 
Events Display using PHP AJAX with CLNDR Calendar Plugin - Phppot

Ugyebár problémát az okozza,hogy datetime az SQL-en lévő mező és e megoldásra lett cserélve: 

$query="select *, DATE(approveOn) AS date from posts where date = '" . $eventDate . "'" ;
És mégiscsak valahol van hiba, de nem jövök rá hogy hol csak feltételezem,hogy event.js-ben van. Tudna valaki ötletet adni pls?

E három fájl kódjai van ami lényeges: 
getEventByDate.php

<?php $eventDate = $_POST['eventDate']; $query="select *, DATE(approveOn) AS date from posts where date = '" . $eventDate . "'"; $result = mysqli_query($conn,$query) or die('Query failed: ' . mysql_error()); $eventResult = array(); while ($row = mysqli_fetch_assoc($result)) { $eventResult[] = $row; } echo json_encode($eventResult); ?>

getEventList.php

<?php $query = "select *, DATE(approveOn) AS date from posts "; $result = mysqli_query($conn, $query) or die('Query failed: ' . mysql_error()); $eventResult = array(); while ($row = mysqli_fetch_assoc($result)) { $eventResult[] = $row; } echo json_encode($eventResult); ?>
event.js

var calendar = {}; $(document).ready( function() { var lotsOfEvents = []; $.ajax({ url: 'getEventList.php', dataType:'json', success: function(data){ var datax = []; for(var i = 0;i<data.length;i++) { datax = {"title":data.title, "date": data.date}; // datax = {"title":data.title, "date": data.datumformatum}; lotsOfEvents.push(datax); } calendar.clndr = $('.cal1').clndr({ events: lotsOfEvents, clickEvents: { click: function (target) { $.ajax({ url: 'getEventByDate.php', dataType:'json', type : 'POST', data: { eventDate : target['date']['_i'] }, success: function(json){ Results(json); } }); function Results(json){ console.debug(); $("#event").html(""); $(".day .day-contents").css("color", "#404041"); $(".calendar-day-"+target['date']['_i']+ " .day-contents").css("color", "#404041"); for(var i = 0;i<json.length;i++) { $("#event").append("<div class='event-row'>"+json.title+"</div>"); } } $("#event").empty(); } }, showAdjacentMonths: true, adjacentDaysChangeMonth: false }); } }); });
Mutasd a teljes hozzászólást!
A getEventByDate.php fájlban nem konvertáltad a dátumot? DateTime típust hasonlítasz össze Date-tel. Vagyis

$query="select *, DATE(approveOn) AS date from posts where date = '" . $eventDate . "'"
helyett

$query="select *, DATE(approveOn) AS date from posts where DATE(approveOn) = '" . $eventDate . "'"
Mutasd a teljes hozzászólást!

abcd