你们中任何一个人都可以把我引向正确的方向。希望你们中的一些人会善良,而不是表现得像你们这个星球上最完美的人类。
这是我的数据库结构 http://snpr.cm/xx03vN.png
我想回显标题,然后在其下方显示相应的page_title。
e.g。
我的个人资料&帐户
东西
页面标题
另一页标题
请问有人帮我检索这些结果吗?谢谢。
答案 0 :(得分:1)
IMO将链接到另一列中的page_id或者某个东西,它将保存所请求页面的页面ID。所以在这种情况下,所有三列都有一个page_id为1然后你的select语句将根据page_id进行选择,你的php代码将解密在哪里放置header / page_title。你可以考虑使用另一列page_location_id和一个顺序来保存它是否是标题,标题等,并且order by将保持精确显示该行的位置,因为你可以有多个标题和标题。那样你的代码就知道确切地放在哪里了。因为现在您选择的文本可能变得不可靠,如果您更改标题,您将需要确保所有更改。希望这能让你朝着正确的方向前进。
答案 1 :(得分:0)
这是一个解决方案。
<?php
/*
CREATE TABLE `pages` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`heading` varchar(128) NOT NULL,
`page_title` varchar(128) NOT NULL,
`page_body` text,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
INSERT INTO `pages` VALUES
(1,'My Profile & Account','Something','and the body!'),
(2,'Something','The page title','The page body'),
(3,'Something','Another page title','another page body');
*/
$pages = array();
$dbh = new PDO('mysql:host=localhost;dbname=test', 'myuser', 'mypass');
$sth = $dbh->prepare('SELECT heading, page_title FROM pages');
$sth->execute();
$data = $sth->fetchAll(PDO::FETCH_ASSOC);
// Group all page_tiles by heading
foreach($data as $record) {
$pages[$record['heading']][] = $record['page_title'];
}
echo '<html><head><title>Page List</title></head><body>';
foreach($pages as $heading => $titles) {
echo '<h1>' . htmlspecialchars($heading) . '</h1><ul>';
foreach ($titles as $title) {
echo '<li>' . htmlspecialchars($title) . '</li>';
}
echo '</ul>';
}
echo '</body></html>';
?>