-2

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

1 回答 1

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在组合中添加了一个新的,并写进去。

于 2013-02-05T18:12:10.257 回答