Pasar datos de PHP a variable javascript

246 visitas 1 respuestas

Hola a todos y gracias de antemano.

Tengo un problema que me está volviendo loco. Estoy tratando de usar bootstrap-year-calendar, pero no consigo pasar los datos obtenidos de una consulta SQL a la variable del script.

En PHP tengo el siguiente script que funciona correctamente:

<div id="calendar"></div>

<script>

$(function() {    
    $('#calendar').calendar({
        dataSource: [
            {
                startDate: new Date(2016, 1, 4),
                endDate: new Date(2016, 1, 4)
            },
            {
                startDate: new Date(2016, 1, 8),
                endDate: new Date(2016, 1, 8)
            }
            ,
            {
                startDate: new Date(2016, 1, 16),
                endDate: new Date(2016, 1, 16)
            }
        ]
    });
});

</script>

El problema es que, en vez de eso, lo que necesito tener es algo como lo siguiente:

<?php

$data = array(
    array(
        "startDate" => "2016-1-4",
        "endDate" => "2016-1-4"
    ),
    array(
        "startDate" => "2016-1-8",
        "endDate" => "2016-1-8"
    ),
    array(
        "startDate" => "2016-1-16",
        "endDate" => "2016-1-16"
    )
);

?>

<div id="calendar"></div>

<script>

var data = <?php echo json_encode($data); ?>;

$(function() {    
    $('#calendar').calendar({
        dataSource: data
    });
});

</script>

Necesito tenerlo así porque $data es un array que viene de una consulta SQL a la base de datos. He probado de mil formas diferentes y no se qué es lo que estoy haciendo mal.

por

Registrado desde: 6 meses

Respuestas

0 0

buenas... fijate que en el primer caso donde muestra js al instanciar el objeto date le pasas 3 parametros (año, mes, dia). en cambio en tu codigo php solo pasa un string "2016-1-4" creo que tendrias que tendrias que trabajar ese string para pasarle por separado a js los datos año mes dia. vas a tener que parsearlo. saludos