2013-05-18 3 views
0

Я ищу на этой странице для ответа на мой вопрос, но я не нашел его.PHP-массивы для JavaScript

<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 с элементами, я уверен в этом, beacause

Кто-нибудь знает, почему это происходит?

ответ

4

Вы можете использовать функцию json_encode. Вы также можете найти несколько простых примеров: here.

0

Вы можете сделать это двумя способами, serialize и json_encode

+0

Вы не можете сделать это с помощью сериализации, он не возвращает JSON. –

+0

, вы можете затем выполнить арифметику в JS: http://phpjs.org/functions/unserialize/ – SAVAFA

0

Ваш код вставляет в JavaScript код, который делает его uncompilable <table...>. Удалите линию print.

Смежные вопросы