我的应用程序执行一个查询,返回它的结果到listview
。结果当前显示在single
列中,根据查询结果显示不同的行数。单列显示每个患者的姓名和出生日期。
我想让我的结果显示在two
列第一个将包含姓名和第二个出生日期。我还需要允许用户按任意一列sort
结果行。我试过把表合并到我的代码和重新安排我的<UL>
的设置,但我不能得到任何工作。
这是我的查询/行输出代码:
if(isset($_POST['dt']) && $_POST['dt'] != '')
{
$dts = $_POST['dt'];
$dts = mysql_real_escape_string($dts);
$edit_date = str_replace("/", "-", $dts);
$edit_date = explode(" ", $edit_date);
$edit_date = explode("-", $edit_date[0]);
$string = $edit_date[2] . "-" . $edit_date[0] . "-" . $edit_date[1];
$query = "select * from VISIT JOIN PATIENT ON VISIT.PATIENT_ID=PATIENT.ID where VISIT.VISIT_DATE like '%".$string."%' ORDER BY PATIENT.LAST_NAME;";
$res = mysql_query($query);
$count = mysql_num_rows($res);
$i = 0;
if($count > 0)
{
$previous_letter = '';
while($row = mysql_fetch_array($res))
{
$id = $row['ID'];
$letter = strtoupper(substr($row['LAST_NAME'],0,1));
echo "<li data-theme='"c'" id='"patient_name'">'n";
echo "<a href='"deeschdeesch.php?id=" . $id . "&fname=" . $row['FIRST_NAME'] . "&lname=" . $row['LAST_NAME'] . "'" rel='"external'">'n";
$date = $row['BIRTH_DATE'];
$date = explode(" ", $date);
$date = explode("-", $date[0]);
echo ucwords(strtolower($row['FIRST_NAME'] . " " . $row['LAST_NAME'])) . " - " . $date[1] . "-" . $date[2] . "-" . $date[0];
echo "</a>'n";
echo "</li>'n";
$i++;
}
}
else
{
$edit_date = str_replace("/", "-", $dts);
$edit_date = explode(" ", $edit_date);
$edit_date = explode("-", $edit_date[0]);
$string = $edit_date[2] . "-" . $edit_date[0] . "-" . $edit_date[1];
echo "<div id='no_result'>There were " . $count . " results found, but the input was " . $string . "</div>";
}
}
结果在这里输出:
<div data-role="content" style="padding: 15px">
<ul class="ui-body ui-body-d ui-corner-all" id="results" data-role="listview" data-divider-theme="b" data-filter-theme="a" data-inset="true" data-filter="false">
</ul>
</div>
JS涉及:
$(function(){
$('#datepicker').datepicker({
inline: true,
showOn: "button",
buttonImage: "images/calendar.gif",
showAnim: "slideDown",
changeMonth: true,
showOtherMonths: true,
selectOtherMonths: true,
onSelect: function(dateText, inst) {
var dt = dateText;
if(dt != '')
{
$.ajax
({
type: "POST",
url: "search_date.php",
data: "dt="+ dt,
success: function(option)
{
$("#results").html(option).listview("refresh");
}
});
}
else
{
$("#results").html("");
}
return false;
}
});
});
谁能指出我在正确的方向上如何把我的结果分成多个列和/或使它们可排序?谢谢大家。
有很多javascript插件可以实现你想要的结果。看看这两个:
- tablesorter—tablesorter是一个jQuery插件,用于将带有THEAD和TBODY标签的标准HTML表格转换为可排序的表格,而无需页面刷新;
- DataTables - DataTables是jQuery Javascript库的插件。它是一个高度灵活的工具,基于渐进式增强的基础,它将为任何HTML表添加高级交互控件。