Estoy tratando de obtener las fechas de la base de datos usando PHP. Que se resaltará en datepicker. Para lograrlo, hice una consulta sql para obtener las fechas como se muestra a continuación.
HTML Date: <input type="text" id="datepicker"> // Static dates // An array of dates var eventDates = {}; eventDates[ new Date( '08/07/2016' )] = new Date( '08/07/2016' ); eventDates[ new Date( '08/12/2016' )] = new Date( '08/12/2016' ); eventDates[ new Date( '08/18/2016' )] = new Date( '08/18/2016' ); eventDates[ new Date( '08/23/2016' )] = new Date( '08/23/2016' ); <script> $(function() { // An array of dates var eventDates = {}; <?php $sql = "SELECT * from `table` WHERE `value` > 0"; $result = $connect->query($sql); while($row = $result->fetch_assoc()) { ?> eventDates[new Date('<?php echo $date = $row['date']; ?>')] = new Date( '<?php echo $date = $row['date']; ?>'); <?php } ?> // datepicker $('#datepicker').datepicker({ beforeShowDay: function(date) { var highlight = eventDates[date]; if (highlight) { return [true, "event", 'Tooltip text']; } else { return [true, '', '']; } } }); }); </script> Entonces, en el código anterior, he repetido todas las fechas que tienen un value > 0 . Que debería imprimir todas las fechas pero no lo hace. Revisé la consulta y funciona perfectamente en un archivo PHP separado. Hace eco de toda la fecha que tiene un value > 0 .
No estoy seguro de si este es el método correcto para obtener la fecha de la base de datos y pasarla al selector de fecha. Hay otro método que usa JSON, pero no estoy familiarizado con ese método porque no he trabajado con JSON.
¿Qué cambios puedo hacer para obtener fechas de la base de datos y resaltarlas en el selector de fechas?
He formateado la fecha a YY/MM/DD de YY-MM-DD . Dado que el formato de fecha del selector de fechas es YY/MM/DD . Si usa el segundo formato con - no mostrará la salida.
Aquí está el código de script corregido:
<script> $(function() { // An array of dates var eventDates = {}; <?php $sql = "SELECT * from `table` WHERE `value` > 0"; $result = $connect->query($sql); while( $final=$result->fetch_assoc() ) { ?> eventDates[new Date('<?php $orgDate = date($final['date']); $date = str_replace('-"', '/', $orgDate); $newDate = date("Y/m/d", strtotime($date)); echo $newDate ?>')] = new Date( '<?php $orgDate =date($final['date']); $date = str_replace('-"', '/', $orgDate); $newDate = date("Y/m/d", strtotime($date)); echo $newDate ?>' ); <?php } ?> // datepicker $('#start').datepicker({ dateFormat: "yy-mm-dd", beforeShowDay: function(date) { var highlight = eventDates[date]; if (highlight) { return [true, "event", 'Tooltip text']; } else { return [true, '', '']; } } }); }); </script>