【发布时间】:2013-02-07 03:29:18
【问题描述】:
我查看了各种答案,我假设这是由于缺少 foreach 循环,我只收到一个变量。共有 32 个类别,每个类别有多个链接。
表结构:
CREATE TABLE `cattb` (
`catNo` int(11) NOT NULL,
`catName` varchar(100) NOT NULL,
PRIMARY KEY (`catNo`)
)
CREATE TABLE `linktb` (
`catId` int(11) NOT NULL,
`URL` varchar(255) NOT NULL,
`title` varchar(50) NOT NULL,
`description` longtext NOT NULL,
KEY `catId` (`catId`)
)
SQL 查询:
SELECT catId, catName, URL, title, description FROM linktb, cattb WHERE linktb.catId=cattb.catNo
PHP:
while ($row = mysql_fetch_assoc($result)){
$json['categories'][] = array(
"catId"=> $row[catId],
"catName"=> $row[catName],
'links' => array(
"URL"=> $row[URL],
"title"=> $row[title],
"description"=> $row[description]
)
);
回应:
"categories":[
{"catId":"1",
"catName":"Career Resources",
"links":
{"URL":"http:\/\/www.designanddesign.com\/jobs.php",
"title":"Design & Design",
"description":"World-Wide Job Offers"
}
},
{"catId":"1",
"catName":"Career Resources",
"links":
{"URL":"https:\/\/www.nuans.com\/rts-str\/en\/home-accueil_en.cgi",
"title":"NUANS Report",
"description":"Naming A Company (Federal)"
}
}
我想看到的:
{ categories: [
{ catName: "Career Resources",
catId: "1",
links: [
{URL:"http://www.designanddesign.com/jobs.php",title:"Design & Design",description:"World-Wide Job Offers"},
{URL:"https://www.ic.gc.ca/app/scr/cc/CorporationsCanada/hm.html?locale=en_CA",title:"Corporations Canada",description:"Incorporating a Business"},
{URL:"http://lea.verou.me/css3patterns/",title:"CSS3 Patterns",description:"Patterns to use for backgrounds"},
{URL:"http://webdesignerwall.com/tutorials/cross-browser-css-gradient",title:"CSS Gradients",description:"Cross-browser Compatible"}
],
},
{ catName: "CSS",
catId: "2",
links: [
{URL:"http://www.designanddesign.com/jobs.php",title:"Design & Design",description:"World-Wide Job Offers"},
{URL:"https://www.ic.gc.ca/app/scr/cc/CorporationsCanada/hm.html?locale=en_CA",title:"Corporations Canada",description:"Incorporating a Business"},
{URL:"http://lea.verou.me/css3patterns/",title:"CSS3 Patterns",description:"Patterns to use for backgrounds"},
{URL:"http://webdesignerwall.com/tutorials/cross-browser-css-gradient",title:"CSS Gradients",description:"Cross-browser Compatible"}
],
}
如何为数组编写 for-each 循环?
【问题讨论】:
-
使用您的代码,
links不会有多个条目,而只有一个。没有像您上面指定的那样循环生成该列表。 -
尽管您没有任何提要数据,但您希望如何显示链接数组!看看@phazorRise 输入了什么
-
所以我没有办法让我的链接用我的数据创建第二个数组?
-
如果你想在每个项目中创建一个链接列表,你必须在链接数组中进行循环,除非你将它们存储在数据库的同一字段中,否则这是无法实现的,因为 $ row[URL] 只有 1 个 URL,没有多个 URL。