如何将用户输入发送到php,执行sql命令并显示php的输出
我的程序是这样工作的。 html页面上有三个按钮,它们链接到三个不同的php文件,这些文件生成xml, 结果基于oracle中的固定sql命令。 当用户点击其中一个按钮时,例如如何将用户输入发送到php,执行sql命令并显示php的输出,php,javascript,html,sql,ajax,Php,Javascript,Html,Sql,Ajax,我的程序是这样工作的。 html页面上有三个按钮,它们链接到三个不同的php文件,这些文件生成xml, 结果基于oracle中的固定sql命令。 当用户点击其中一个按钮时,例如 <p><input class="fetchSeries" type="button" value="CurrValue"> <a href="connectyf.php"> </a> <span></span> <
<p><input class="fetchSeries" type="button" value="CurrValue">
<a href="connectyf.php"> </a>
<span></span>
</p>
sql命令:
$sql = "SELECT TO_CHAR(DATETIME, 'YYYY-MM-DD HH24:MI:SS') AS DATETIME, PRESENTSTATE
FROM T00000000_01080413 WHERE DATETIME BETWEEN '04-OCT-11' AND '15-OCT-11' ";
我现在需要做的是放置四个用户输入字段和一个按钮,单击按钮控制sql命令,如果我没有弄错的话,php页面中应该是这样的
$sql = "SELECT TO_CHAR(DATETIME, 'YYYY-MM-DD HH24:MI:SS') AS '$_POST[datetime]', '$_POST[vall]' FROM T00000000_01080413 WHERE DATETIME BETWEEN '$_POST[startdate]' AND '$_POST[enddate]' ";
现在我有点头疼,我该如何使用用户输入作为sql命令,并在单击按钮后绘制图形
是否可以使用输入[name=startdate];像这样的?
现在很头痛。请激励我。。。。
提前这么多
<form method="post" >
<div>
<input type="text" class="form-text required" value="" size="15" id="edit-name" name="startd" maxlength="60">
<input type="text" class="form-text required" value="" size="15" id="edit-name" name="endd" maxlength="60">
<input type="text" class="form-text required" value="" size="15" id="edit-name" name="pname" maxlength="60">
<input type="text" class="form-text required" value="" size="15" id="edit-name" name="val" maxlength="60">
<input class="fetchSeries" type="button" value="draw graph!"/>
</div>
</form>
$.ajax({
type: "POST",
url: "connectyf1.php",
data: "startdate="+startdt+"&enddate="+enddt+"&tablename="+tname+"¶meter"+param,
success: function(grapHtml){
$("#graph").append(graphHtml);
$.ajax({
url: "connectyf1.php",
type: "GET",
cache: false,
success: function (data2) {
$(data2).find('node').each(function(){
var currV = $(this).find('snv').text();
var dateT = ($(this).find('agev').text())*1000;
var d2 = [];
d2.push(dateT, currV);
dataset.push(d2);
button.siblings('span').text('Fetched ' + ', first point: ' );
})
data.push(dataset);
$.plot(placeholder, data,options);
dataset = [];
}
});
}
});
如果您使用的是jquery 1.5版或更高版本,则可以使用以下命令进行ajax调用:
var startd = $('input[name="startd"]').val();
$.ajax({
type: "POST",
url: "some.php",
data: "startd="+startd+"&location=Boston",
success: function(grapHtml){
$("#graph").append(graphHtml);
}
});
这会向some.php发出post请求。此文件将收到$\u POST['startd']和$\u POST['location']值。我不确定是否理解您的问题。您是否在寻找jquery选择器来根据输入元素的name属性选择输入元素?这是用$'input[name=startd]完成的我真的不明白问题出在哪里?您想将值发送到php并返回一个图形?$'input[name=startd]'是的,这是我一直在寻找的答案的一部分……困难的部分是如何以及在何处使用$'input[name=startd]'要将用户输入作为sql命令的一部分发送到php?我相信在php文件中,我可以简单地使用@post来获取从html发送的日期…但是我如何发送…?仍然不确定我是否遵循,但在您的示例中,您使用$.ajax,type=get。这意味着您可以将值作为get参数发送到url中,如www.example.com/connectyf.php?startd=2011-10-17。在php中,您可以访问$\u get[]数组中的get参数$_POST[]数组用于使用“POST”方法提交,而不是“get”,再次感谢您的帮助和时间。但是对于$graph.appendgraphHtml;,我不是很确定;?我看过ppl做$'body div'.textdata。它是打印结果的函数吗?
var startd = $('input[name="startd"]').val();
$.ajax({
type: "POST",
url: "some.php",
data: "startd="+startd+"&location=Boston",
success: function(grapHtml){
$("#graph").append(graphHtml);
}
});