2016-03-19 6 views
-1

私はStackoverflowを初めて使用しています。私の問題はJSONとPHPをJavaScriptに変換することです。 PHPを使用してJSONを作成するためにデータベースを取得し、JSONをJavaScript用に変換したい。 JSONをJavaScript(オブジェクト[1] .id)として使用したいと思います。私はあなたの助けが必要です。JSONをPHPでJavaScriptに変換する

<?php 
    $connent = new mysqli('localhost','root','lukasz1248','quiz'); 
    if ($connent->connect_error != 0) 
    { 
    throw new Exception(mysqli_connect_errno()); 
    } 
    $connent->query('SET NAMES utf8'); 
    $connent->query('SET CHARACTER_SET utf8_unicode_ci'); 
    $result = $connent->query("select * from pytania"); 

    //put all of the resulting names into a PHP array 
    $jsonArray = Array(); 
    //$how = $result->num_rows; 
    //$row = $result->fetch_assoc(); 

    //$row_array = "["; 
    while ($row = $result->fetch_assoc()) { 

    $row_array['id'] = $row['id']; 
    $row_array['tresc'] = $row['tresc']; 
    $row_array['odpa'] = $row['odpa']; 
    $row_array['odpb'] = $row['odpb']; 
    $row_array['odpc'] = $row['odpc']; 
    $row_array['odpd'] = $row['odpd']; 
    $row_array['answer'] = $row['answer']; 
    $row_array['kategoria'] = $row['kategoria']; 
    $row_array['rok'] = $row['rok']; 

    array_push($jsonArray,$row_array); 
    } 
    echo $jsonArray = json_encode($jsonArray,JSON_UNESCAPED_UNICODE); 

    $connent->close(); 
?> 
    <script type="text/javascript"> 
    var json_array = json_encode('<?php echo $jsonArray ?>') 

    window.onload = write; 

    var obj_json = JSON.parse(json_array); 

    function write(){ 
    document.getElementById('db').innerHTML = obj_json.length; 
    } 
</script> 
<div id="db"></div> 

私はそれを変更:この

function write(){ 
    document.getElementById('db').innerHTML = obj_json.length; 
} 

<script type="text/javascript"> 
    var json_array = '<?php echo $jsonArray ?>'; 

    window.onload = write; 

    var str = " "; 
    var obj_json = JSON.parse(json_array); 

    function write(){ 
    document.getElementById('db').innerHTML = obj_json.length; 
    } 
</script> 
<div id="db"></div> 

結果は、最後の20の私のウェブサイトhttp://158.75.89.214/js/test.php

する必要があります

答えて

2

これを2回エンコードしています。

最初の場所

echo $jsonArray = json_encode($jsonArray,JSON_UNESCAPED_UNICODE); 
var json_array = json_encode('<?php echo $jsonArray ?>') 

それはこの1つ

var json_array = <?php echo $jsonArray ?>; 
+0

私はそれを変更しました。動作しません!!! –

+0

最後のステートメントに変更しますか? –

1

JSONに変更し、それはすでにJavascriptのコードですが、私たちはJavascriptに出力し、それを必要とし、この

<script type="text/javascript> 
    var foo = <?php echo json_encode($bar); ?>; 
</script> 

のようなJavascriptがtを理解していることを確認するために、括弧で囲むことも有効ですこれはオブジェクトであり、使用されている場所であればブロックではありません。

function getJSON($obj) { 
    return '('.json_encode($obj).')'; 
} 

これを使用します。

関連する問題