2013-02-05 95 views
-2

我真的找不到在頁面上打印數組內容的方法。誰能幫忙? 我已將數據從數據庫中取出並將其放入一個javascript數組中,現在只想將其顯示在頁面上。如何在使用Javascript的頁面上打印這些內容?

下面是代碼:

<html> 

<head> 

<script> 


var items = { 


<?php 

    $con = mysql_connect("***","****","*****"); 
    if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

    mysql_select_db("learning_game", $con); 

    $result = mysql_query("SELECT * FROM data"); 


    $first=true; 
    while($row = mysql_fetch_array($result)) 
{ 
if (!$first){ 
echo ","; 
} 
    $first = false; 
echo "{name='" . $row['word'] . "',image='" . $row['image'] ."'}"; 

} 


mysql_close($con); 


    ?> 



    }; 

    </script> 

    </head> 

<body> 




</body> 

    </html> 
+0

一個'for'循環應該訣竅 – starbeamrainbowlabs

+0

感謝所有的快速回復。任何人都可以使用示例代碼來幫助我,因此我可以制定如何在頁面上打印它?我對JavaScript一無所知,所以任何幫助都會很棒。謝謝 – user2043964

回答

0
<html> 
    <head> 
    </head> 
    <body> 
    <div></div> 
    <script> 
     var items = [ 
     <?php 
     $con = mysql_connect("***","****","*****"); 
     if (!$con) { 
     die('Could not connect: ' . mysql_error()); 
     } 
     mysql_select_db("learning_game", $con); 
     $result = mysql_query("SELECT * FROM data"); 
     $first = true; 
     while ($row = mysql_fetch_array($result)) { 
     if (!$first) { 
      echo ","; 
     } 
     $first = false; 
     echo "{name:'" . $row['word'] . "',image:'" . $row['image'] ."'}"; 
     } 
     mysql_close($con); 
     ?> 
     ]; 
     for (var i = 0; i < items.length; i += 1) { 
     document.getElementsByTagName('div')[0].innerHTML += items[i].name + ":" + items[i].image + "<br />\n"; 
     } 
    </script> 
    </body> 
</html> 

請注意,該items聲明現在是[]跡象,因此它成爲一個數組,而不是一個對象。

在回顯名稱和圖像的行中,等號代表冒號(:)。

以及完整的腳本必須移動到底部,因爲您只能寫入已經呈現(關閉)的元素。所以我添加了一個新的div混合,並寫入。

相關問題