我是一个非常新手的程序员,他试图创建一个心跳脚本,从当前页面获取id并将其发送到heartbeat.php,其中发生以下情况:
1)我在计划表中查找与我刚发送的ID对应的 currentlocation 字段。
2)然后我编码我在JSON currentlocation 字段中找到的值
这是heartbeat.php的代码:
<?php
/*** mysql hostname ***/
$hostname = 'localhost';
/*** mysql username ***/
$username = '********';
/*** mysql password ***/
$password = '*********';
$db = new PDO("mysql:host=$hostname;dbname=sv", $username, $password);
$statement = $db->prepare("SELECT currentlocation FROM schedule WHERE apptid = :apptid");
$statement->execute(array(':apptid' => $apptid));
$row = $statement->fetch();
echo json_encode($row['currentlocation']);
?>
在html方面,我使用php进行一段时间从数据库中提取患者信息,因此ID-NUMBER-1和ID-NUMBER-2将是数据库中相应的ID。
这是html:
<!-- FIRST SET: the id is ID-NUMBER-1 -->
<div class='jcontainer'>
<div style='display:none; class='jcontainerid'>ID-NUMBER-1</div>
<button class='checkIn' data-param='button_ID-NUMBER-1'>Check In</button>
<form method='post' class='myForm' action=''>
<select name='locationSelect' class='locationSelect' data-param='location_ID-NUMBER-1'>
<option value='1'>Exam Room</option>
<option value='2'>Exam Room 2</option>
<option value='3'>X-Ray Room</option>
<option value='1000'>Check Out</option>
</select>
</form>
<div class='finished' style='color:#ff0000;'>Checked Out</div>
</div>
<!-- SECOND SET: the id is ID-NUMBER-2 -->
<div class='jcontainer'>
<div style='display:none; class='jcontainerid'>ID-NUMBER-2</div>
<button class='checkIn' data-param='button_ID-NUMBER-2'>Check In</button>
<form method='post' class='myForm' action=''>
<select name='locationSelect' class='locationSelect' data-param='location_ID-NUMBER-2'>
<option value='1'>Exam Room</option>
<option value='2'>Exam Room 2</option>
<option value='3'>X-Ray Room</option>
<option value='1000'>Check Out</option>
</select>
</form>
<div class='finished' style='color:#ff0000;'>Checked Out</div>
</div>
所以,问题是,如何在JQuery中执行以下操作:
1)对于每个jcontainer(或我在html中标记的每组表单元素),使用jcontainerid类获取id作为div内部的文本
2)然后使用jquery心跳,每5秒钟发送到php页面的每个jcontainer的id和 currentlocation 的值以JSON格式发回。
非常感谢任何和所有的帮助。如果您需要更多详细信息,请询问,我们将很乐意为您提供帮助!
答案 0 :(得分:2)
你可以使用.each()迭代每个jcontainer,在这里看到更多:
以下是您可以做的事情的一个例子:
function dataToHeartbeat(){
$(".jcontainer").each(function(){
// grab the id
var apptid = $(this + " > .jcontainerid").text();
// Submit to heartbeat.php with JSON expected in return
$.getJSON('heartbeat.php?apptid='+apptid, function(data){
// Do something with resulting data
});
});
}
然后,您可以使用setTimeout()来调用该函数。根据您的需要,您可以在函数中添加setTimeout以产生连续循环。