如何使用Javascript在页面上打印出这个内容?

时间:2013-02-05 17:04:03

标签: javascript arrays loops printing

我真的找不到在页面上打印数组内容的方法。有人可以帮忙吗? 我从数据库中获取数据并将其循环到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>

1 个答案:

答案 0 :(得分: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,然后写进去。