【问题标题】:Apply php/MySql while loop in javascript object [closed]在javascript对象中应用php / MySql while循环[关闭]
【发布时间】:2012-09-21 13:57:21
【问题描述】:

我想采用以下 php/mysql 循环,并将结果: $test,$test1,$test2 应用于 javascript 代码中的 var Data 对象。这将使 var Data 动态化,从数据库中提取数据以构造对象。

【问题讨论】:

  • 将所有行值($res1)收集到一个数组中,并用var treeData = <?php echo json_encode($rows); ?>;输出。请停止使用古老的 mysql_* 函数编写新代码。它们不再被维护,社区已经开始deprecation process。相反,您应该了解准备好的语句并使用PDOMySQLi。如果你想学习,here is a quite good PDO-related tutorial.
  • 好的,我去看看,见谅,不过我很菜鸟。另外,正如您所说,我不确定如何将所有行值($ res1)收集到一个数组中。那是怎么做的? $rows 是什么,你从哪里得出的?

标签: php javascript mysql while-loop javascript-objects


【解决方案1】:
<?php
include("regDBConnect.php");

// collect all the results
$rows = array();

$result1 = mysql_query("SELECT * FROM Phase where Pid = 1", $db) or die("cannot select");
while($row = mysql_fetch_array($result1)) {
  $rows []= array(
    'id' => $row['id'],
    'parent' => $row['parent'],
    'name' => $row['name'],
  );

  /*
     if you remove the line above and uncomment this instead,
     javascript objects will see all the properties you selected from the DB 
   */
  // $rows []= $row;
}
?>

<script type="text/javascript">
// now output the collected results
var treeData = <?php echo json_encode($rows); ?>;
</script>

请注意,我所说的关于 PDO/MySQLi 的内容仍然适用,这只是回答这个特定问题的一个最小示例。 (通常,您应该只选择您需要的那些列,而不是*。)

【讨论】:

  • 非常感谢。它就像一个魅力:) 我将开始学习使用 PDO 或 MySQLi 进行编码。
猜你喜欢
  • 2014-03-30
  • 2012-10-29
  • 2017-01-18
  • 2014-11-24
  • 1970-01-01
  • 2017-02-19
  • 2013-01-12
  • 1970-01-01
  • 2011-11-30
相关资源
最近更新 更多