我想创建一个PHP循环来获取数据库表中的所有ID,并在.append
函数中使用它们。基本上我想要发生的是每个循环通过数据库,我希望jquery.append运行并将其#div标签更改为来自数据库中的字段div-id
例如;
$('#div-id').append('HELLO CONTENT');
我知道我可以使用.each
,但这不会处理PHP部分。我可以在PHP上做一段时间,但这并没有关注Jquery部分。基本上我是如何看待的,他们正在创建自己的循环而不是一起工作。
答案 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已经完成了执行。