回答
使用AJAX和PHP作爲中間:
定義一個空的JS數組:
var myarray = new Array();
使用Ajax調用PHP腳本,JavaScript的使用eval由PHP輸出(注意這使用原型庫):
new Ajax.Request('myfile.php', { onSuccess : function(xmlHTTP) { eval(mlHTTP.responseText); } });
寫你的PHP代碼獲取數據和打印JS代碼(它必須是有效的javscript!):
你可以檢查你的js數組包含數據:
alert(myarray.length);
希望這有助於。
這會在你的頁面的全局變量user
。
<?php
$user = /* get information from database the way you usually do */;
// $user == array('id' => 1, 'name' => 'foo', ...);
?>
<script type="text/javascript" charset="utf-8">
var user = <?php echo json_encode($user); ?>;
</script>
如果您正在尋找動態AJAXy解決方案,請遵循一些關於AJAX的教程。
最簡單的方法就是在你的php代碼中獲取數據,然後「編寫」javascript代碼以在php中生成數組。
一個簡短的例子是:
echo "a = new Array();";
foreach($row in $results)
{
echo "a[$row[0]] = $row[1];";
}
我的代碼可能是相當不正確,它的中庸之道,給你一個簡單的例子。
你也可以使用json以更優雅的方式來做到這一點。
我其實不希望混合JavaScript的PHP代碼來做到這一點...我有單獨的JavaScript和PHP腳本,並從JavaScript我想調用PHP腳本來獲取數據庫數據.... – Rony 2010-07-20 09:58:12
然後,你可以做一個Ajax請求到一段php代碼,這會給你在json,xml,或任何你喜歡的數據。 – 2010-07-20 10:02:08
您將不得不使用PHP中的mysql_connect()
,mysql_select_db()
函數連接到您的db。之後,使用mysql_query()
來選擇用戶表中的字段(如果您的用戶表具有字段名稱和ID,SELECT name, id FROM user
)。然後,您可以使用mysql_fetch_assoc()
或任何其他mysql提取函數從db中獲取所有信息。現在您需要將您的數據以echo
格式轉換爲您網站上的JavaScript,並將其格式化爲數組。這很複雜,但你可以從json_encode
獲得幫助。
要用你的用戶名填充你的數組,你應該這樣做。
<html>
<head>
<script type="text/javascript">
var userName = <?php
// Connect to MySQL
//mysql_connect();
//mysql_select_db();
$d = mysql_query("SELECT name, id FROM user") or die(mysql_error());
$usernames = array();
while($r = mysql_fetch_assoc($d)) {
$usernames[] = $r['name'];
}
echo json_encode($usernames);
?>;
// Do something with the userName array here
</script>
</head>
- 1. 加載數據 - 使用Javascript
- 2. 使用jquery從mysql數據庫加載數據
- 3. 使用函數加載數據庫值
- 4. 使用PHP將數組數據值插入MySQL數據庫表
- 5. Javascript沒有加載mysql數據phonegap
- 6. 用「reindexed」數組更新MySQL數據庫
- 7. 如何使用javascript將數據存儲到mysql數據庫中?
- 8. 如何使用javascript從mysql數據庫中獲取數據?
- 9. 如何在javascript小部件中使用Mysql數據庫數據
- 10. 連接到MySQL數據庫加載libmysql.dll
- 11. 在mysql中使用加載數據
- 12. mysql加載數據infile vs使用表
- 13. Spring MVC - 從數據庫加載數據
- 14. 「加載數據infile」插入數據庫
- 15. 數據加載到Oracle數據庫
- 16. CKEDITOR從數據庫加載數據AJAX
- 17. javascript php mysql flot數據庫
- 18. 使用用戶認證將數據從數據庫加載到javascript
- 19. 如何從數據文件夾加載mysql數據庫?
- 20. 從excel文件加載數據到MySQL數據庫?
- 21. 將XML數據加載到Mysql數據庫
- 22. 如何將數據從MySql加載到MS SQL Server數據庫?
- 23. 將數據從MySQL數據庫加載到C#DGV
- 24. 在頁面加載時向mysql數據庫插入數據
- 25. 從shell界面將數據加載到mysql數據庫中
- 26. 使用PHP添加到MySQL數據庫
- 27. 如何使用PHP和MySQL在MySQL數據庫中存儲數組數據?
- 28. 使用javascript滾動加載數據
- 29. 使用動態下拉列表從MySQL數據庫中加載數據到textarea
- 30. Javascript,Ajax,從數據庫動態加載數據
你的意思是你的數組的內容存儲在數據庫中,或者你想要從數據庫中獲取創建數組的代碼? – 2010-07-20 09:42:23
通常,Javascript不能直接與數據庫交談,您需要在兩者之間進行操作。你如何與數據庫交談? – deceze 2010-07-20 09:43:51
@Guillaume:我想要從代碼中創建數據庫 @deceze:我使用php .. – Rony 2010-07-20 09:46:51