我的程序是这样的。 html页面上有三个按钮,链接到三个不同的php文件,导致xml, 结果基于oracle中的fixed sql命令。 当用户点击其中一个按钮时,例如
<p><input class="fetchSeries" type="button" value="CurrValue">
<a href="connectyf.php"> </a>
<span></span>
</p>
然后它将触发下面的ajax,并在html页面上绘制图形
$("input.fetchSeries").click(function () {
var button = $(this);
var dataurl = button.siblings('a').attr('href');
$.ajax({
url: dataurl,
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 = [];
}
});
});
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];这样的事情? soooo头痛现在。请激励我.... 这么多提前
<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 = [];
}
});
}
});
答案 0 :(得分:0)
如果您使用的是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 ['startd']和$ _POST ['location']值。