Obtener fechas de la base de datos para el selector jQuery Ui en PHP.
Estoy tratando de obtener las fechas de la base de datos utilizando PHP, las cuales serán resaltadas en el selector de fechas. Para lograrlo, he realizado una consulta sql
para obtener las fechas, como se muestra a continuación.
“`
HTML
Fecha: <input type="text" id="datepicker">
<code>
</code>
// Fechas estáticas
// Un arreglo de fechas
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' );
<code>
</code>
<script>
$(function() {
// Un arreglo de fechas
var eventDates = {};
<?php
$sql = "SELECT * from <code>tabla</code> WHERE <code>valor</code> > 0";
$resultado = $conectar->query($sql);
while($fila = $resultado->fetch_assoc()) {
?>
eventDates[new Date('<?php echo $fecha = $fila['fecha']; ?>')] = new Date(
'<?php echo $fecha = $fila['fecha']; ?>');
<?php
}
?>
// Selector de fechas
$('#datepicker').datepicker({
beforeShowDay: function(date) {
var resaltar = eventDates[date];
if (resaltar) {
return [true, "evento", 'Texto de sugerencia'];
} else {
return [true, '', ''];
}
}
});
});
</script>
“`
En el código anterior, he recorrido todas las fechas que tienen valor > 0
. Debería imprimir todas las fechas, pero no lo hace. He verificado la consulta y funciona perfectamente en un archivo PHP separado. Se muestra en pantalla todas las fechas que tienen valor > 0
.
No estoy seguro si este es el método correcto para obtener las fechas de la base de datos y resaltarlas en el selector de fechas. Existe otro método utilizando JSON, pero no estoy familiarizado con él ya que no he trabajado con JSON.
¿Qué cambios puedo hacer para obtener las fechas de la base de datos y resaltarlas en el selector de fechas?
davy.ai
Para obtener fechas de la base de datos y resaltarlo en el selector de fechas, puedes seguir los siguientes pasos:
while
, añade cada fecha al array:eventDates
:beforeShowDay
para verificar si la fecha actual se encuentra eneventDates
:Esto debería resaltar las fechas obtenidas de la base de datos en el selector de fechas. Ten en cuenta que las fechas en
eventDates
deberían tener el formato'aaaa-mm-dd'
.