【发布时间】:2012-05-16 16:53:32
【问题描述】:
我正在构建一个网页并试图让我的导航正确。我正在使用 mysql 将“主题”存储在一个表中,并将“页面”存储在网站的另一个表中。它工作得很好,但我只是使用粗体来表示一个被选中的页面或主题,并且由于某种原因,当我选择一个主题时,它会加粗该主题下的整个页面列表。这些页面按我的预期工作(它加粗了我选择的页面)。这是我的 PHP 页面,它们是我的 CSS 页面。 (我怀疑它的 html 类“选择”正在被继承,但我看不出如何)。任何帮助都会很棒。
PHP
while ($subject = mysql_fetch_array($subject_set)){
echo "<li";
if ($subject["id"] == $sel_subj){ echo " class=\"selected\""; }
echo"><a href=\"content.php?subj=".urlencode($subject['id']).
"\">{$subject["menu_name"]}</a></li>";
$page_set = get_pages_for_subject($subject['id']);
echo "<ul class=\"pages\">";
while ($page = mysql_fetch_array($page_set)){
echo "<li";
if ($page['id'] == $sel_page){ echo " class=\"selected\""; }
echo"><a href=\"content.php?page=".urlencode($page['id']).
"\">{$page["menu_name"]}</a></li>";
}
echo "</ul>";
}
?>
</ul>
</td>
<td id="page">
<h2>Content Area</h2>
<?php echo $sel_subj;?>
<?php echo $sel_page;?>
</td>
</tr>
</table>
CSS
/*Navigation*/
#navigation { width: 225px; height: 600px; padding: 5% 5%;
color: #0D8800; background: #44EE44; }
#navigation a { color: #8D0D19; text-decoration: none; }
ul.subjects { padding-left: 0; list-style: none; }
ul.pages { padding-left: 0; list-style: square; }
.selected { font-weight: bold; }
谢谢
【问题讨论】:
-
请停止使用古老的
mysql_*函数编写新代码。它们不再维护,社区已经开始deprecation process。相反,您应该了解准备好的语句并使用PDO 或MySQLi。如果你想学习,here is a quite good PDO-related tutorial.