0

我正在此页面中搜索我的问题的答案,但我没有找到。

<script type="text/JavaScript">

var jsarray=     [];
<?php 
include("conectar.php");

    if (isset($_GET['selector'])) $condicion = ' WHERE clave=' . $bd->quote($_GET['selector']);
    else $condicion = '';

    $pet = $bd->prepare("SELECT * FROM Calendario" . $condicion);
    $pet->execute();
    $filas = $pet->fetchAll();
    $arrayF=array();
    $arrayU=array();
    print '<table class="gridtable">';
    foreach ($filas as $fila) 
    {
        //print '<tr><td>'.$fila['Fecha'] . '</td><td>' . $fila['URL'] . '</td></tr>';
        array_push($arrayF,$fila['Fecha']);
        array_push($arrayU,$fila['URL']);
    }
for ($i=0 ;$i < count($arrayF); $i++){
    echo 'jsarray['.$i.'] = "'.$arrayF[$i].'";';
}
 ?> 
 window.onload=function(){
 alert(jsarray);
}

</script>

我正在访问数据库,获取一些数据并将其放入 arrayF 和 arrayU。然后,我必须将数组发送到 JavaScript 以使用它们。但这不起作用。我不知道为什么,但是当我执行它时,什么都没有显示,但是 php 中的数组是带有元素的,我确信这一点,因为

任何人都知道为什么会发生这种情况?

4

3 回答 3

4

您可以为此使用json_encode函数。您还可以在此处找到一些简单的示例。

于 2013-05-18T14:44:39.127 回答
0

您可以通过两种方式进行操作,序列化json_encode

于 2013-05-18T14:47:14.043 回答
0

您的代码插入<table...>了 JavaScript 代码,这使其无法编译。删除print线。

于 2013-05-18T14:49:22.527 回答