我有一个移动应用程序,第一页显示类别列表,当单击一个类别时转到第二页,传递 url 上的类别 ID 并显示该类别下的企业名称列表。
数据在 MySQL 上,所以我使用 JSON
一切正常,但不是显示业务名称列表,而是仅显示第一个业务重复 14 次(每个业务有 14 个字段),而不是循环 5一个类别下的业务,看起来像是在该类别的第一个业务的字段内循环并重复业务名称。
这是jQuery:
$('#businessListPage').live('pageshow', function(event) {
var id = getUrlVars()["id"];
$.getJSON(serviceURL + 'getbusiness.php?id='+id, displayBusiness);
});
function displayBusiness(data) {
var business = data.item;
console.log(business);
$.each(business, function(index) {
$('#actionList').append('<li><a href="">' +
business.business + '</a></li>');
})
$('#actionList').listview('refresh');
}
function getUrlVars() {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
这是html
<div id="businessListPage" data-role="page" data-add-back-btn="true">
<div data-role="header">
<h1>Business List</h1>
</div>
<div data-role="content">
<ul id="actionList" data-role="listview" data-inset="true"></ul>
我尝试了很多东西,但我不擅长 jquery,我将不胜感激。谢谢
* *添加这个:
如果这有帮助,这就是 php... 我有一个将类别与业务联系起来的规范化表,我测试了 Select 部分并且运行良好。
<?php
include 'config.php';
$sql = "select * " .
"from directory2 WHERE ID IN(SELECT dirID FROM cat2dir WHERE catID =:id)group by business order by business ";
try {
$dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $dbh->prepare($sql);
$stmt->bindParam("id", $_GET[id]);
$stmt->execute();
$businesses = $stmt->fetchObject();
$dbh = null;
echo '{"item":'. json_encode($businesses) .'}';
} catch(PDOException $e) {
echo '{"error":{"text":'. $e->getMessage() .'}}';
}
?>