使用PHP循环更改Jquery.Append

时间:2011-10-13 11:38:54

标签: php jquery loops append

我想创建一个PHP循环来获取数据库表中的所有ID,并在.append函数中使用它们。基本上我想要发生的是每个循环通过数据库,我希望jquery.append运行并将其#div标签更改为来自数据库中的字段div-id

例如;

$('#div-id').append('HELLO CONTENT');

我知道我可以使用.each,但这不会处理PHP部分。我可以在PHP上做一段时间,但这并没有关注Jquery部分。基本上我是如何看待的,他们正在创建自己的循环而不是一起工作。

2 个答案:

答案 0 :(得分:2)

您可以在PHP页面的<script>标记输出中执行此操作。我假设标准MySQL,应该很容易适应另一个数据库。

<!-- rest of page -->
<script type="text/javascript">
<?php

  // Get all the results from the DB
  $result = mysql_query("SELECT `div-id`, `content` FROM `table` WHERE `some_field` = 'some value'");
  // loop the db results
  while ($row = mysql_fecth_assoc($result)) echo "$('#{$row['div-id']}').append('{$row['content']}');\n";

?>
</script>
<!-- rest of page -->

应输出如下内容:

<!-- rest of page -->
<script type="text/javascript">
  $('#div-id1').append('HELLO CONTENT1');
  $('#div-id2').append('HELLO CONTENT2');
  $('#div-id3').append('HELLO CONTENT3');
</script>
<!-- rest of page -->

...所以你用PHP做循环,只输出JS的行,这些行将一个接一个地执行。

或者,您可以在PHP中循环$result并创建一个大型数组,然后json_encode()并在JS中循环它。你的选择。

答案 1 :(得分:0)

你不能像这样结合PHP和JavaScript。 PHP在服务器上运行,一旦完成,就生成了一个(很可能)HTML页面,它将其发送回请求的浏览器。然后在那里将HTML呈现到您看到的网页中,然后执行每个JavaScript。此时,PHP已经完成了执行。