2011-10-13 54 views
0

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

例如;

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

我知道我可以使用一个.each,但是,这并不需要PHP的一部分的照顾。我可以在PHP上做一段时间,但这并不关心Jquery部分。基本上我看到它,他们正在创建自己的循环,而不是一起工作。

+0

我并不十分清楚你想做什么,但是当PHP在服务器端运行时,它将在任何运行在客户端上的JS之前执行。 –

+0

我试图在我的页面上定位特定的div,并且这些div的id存储在数据库中。 – drummer392

回答

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中循环它。你的选择。

+0

我尝试着想用json_encode来做数组,但是当我真正做到这一点时,我只是对自己感到困惑哈哈感谢您的代码,我从来没有想过在

0

你不能像这样组合PHP和JavaScript。 PHP在服务器上运行,一旦完成,它就生成了一个(最有可能的)HTML页面,并将其返回给发出请求的浏览器。在那里,HTML会呈现到您看到的网页中,然后每个JavaScript都会被执行。在这一点上,PHP已经执行很久了。

+0

哈,我知道有人会这样说,但有人向我建议使用数组,但我永远不知道如何与jQuery的工作 – drummer392

+0

你当然可以输出为JavaScript数组的id(只输出'var myIds =新的数组(1,2,3);'somwhere在你的页面上)然后用那个通过jQuery显示一些东西。但是你可以直接输出id。 –

+0

我很想简单地循环使用php的id,但是我仍然需要在jquery上进行某种循环,以便将#div标记更改为从数据库中将页面指定给目标div。 – drummer392