2010-11-26 137 views
1

我想让一个MySQL咨询发送一个变量从ajax到php。 我认为的代码解释了自己更好的如何使用jQuery进行动态数据库查询?

<script type="text/javascript" src="jquery.js"></script> 
<?php 
include "w_config.php"; //only a local php lib, you can ignore 
//the function query only returns the query result 
print_r(query("select * from artists where artist like '%$_POST[query]%'")); 
?> 
<script language="javascript" type="text/javascript"> 
$.ajax({ 
    type: "POST", 
    data: "query=search" 
}); 
</script> 

,当我说data: "query=search"我想送价值“搜索”作为MySQL的一个字符串,$ _POST [查询]请教:SELECT * FROM艺术家在那里的艺术家像'%$ _ POST [查询]%'

例如 data:“query = linkin park”;

所以变量$ _ POST会得到字符串“林肯公园”和更新查询

+0

所以。你想要它,太好了。还有什么? – zerkms 2010-11-26 02:38:50

回答

0

有几种方法可以做到这一点。一个好的方法是编写PHP脚本,将您的请求答案转换为XML格式。

从您的javascript代码中调用这些脚本,并根据需要操作您收到的XML数据。

所以基本上:

//Your pseudo PHP Script: 
// pre conditions on inputs (assertion, secure strings, ...) 

// Write the data selected from your database in XML 
// For example: 
SELECT name FROM Artist WHERE id_artist = $_GET['id'] 
// Start your XML output 
<Artists> 
// For each name write: 
    <Artist name="..." /> 
</Artists> 

// post conditions ... 

//Your Javascript Code Example: 
$.get({ 
    url: 'script.php?id=' + id, 
    success: function(xml) { //manipulate your XML } 
}); 
3

首先,如果你正在使用AJAX那么就应该有一个单独的PHP文件,只返回搜索结果。其次,您需要转义搜索字符串以防止SQL注入(Google会告诉你所有关于它的内容)。第三,你需要决定是否要接受类似json的东西,并用jquery解析它并生成html,或者让php返回现成的HTML,以便将它放入DIV或类似的东西中(在这种情况下,你可能会使用jQuery的load)。第四,你需要告诉我们你的HTML看起来像什么,特别是有输入框(搜索词)和某种按钮的部分。

经过这些第一步,我们可以谈论代码。

相关问题