2011-10-13 65 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