【发布时间】:2011-12-09 07:01:28
【问题描述】:
我的程序是这样工作的。 html页面上有三个按钮链接到三个不同的php文件,这些文件导致xml, 结果基于oracle中的固定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];类似的东西? 现在太头疼了。请启发我.... 提前谢谢你
<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 选择器以通过其名称属性选择输入元素?这是用 $('input[name="startd"]')
-
我真的不明白是什么问题?你想将值发送到 php 并返回一个图表?
-
$('input[name="startd"]') 是的,这就是我正在寻找的答案的一部分......困难的部分是我如何以及在哪里使用 $('input[ name="startd"]') 将用户输入作为 sql 命令的一部分发送到 php?
-
我相信 php 文件我可以简单地使用@post 来获取从 html 发送的日期...但是我怎样才能发送...?
-
仍然不确定我是否遵循,但在您的示例中,您使用带有 type="GET" 的 $.ajax。这意味着您将值作为获取参数发送到 url,例如 www.example.com/connectyf.php?startd=2011-10-17。在 php 中,您可以访问 $_GET[] 数组中的 get 参数。 $_POST[] 数组用于提交方法为“post”,而不是“get”
标签: php javascript html sql ajax