【发布时间】:2017-12-14 18:43:59
【问题描述】:
因此,如果我必须制作像学校网站这样的侧边栏菜单,在页面加载后会突出显示活动点击的链接。它使用单个页面,例如
<a target="_top" href="default.asp">HTML HOME</a>
<a target="_top" href="html_intro.asp">HTML Introduction</a>
<a target="_top" href="html_editors.asp">HTML Editors</a>
<a target="_top" href="html_basic.asp">HTML Basic</a>
<a target="_top" href="html_elements.asp">HTML Elements</a>
但是我自己构建的那个是用 PHP 创建的,所以菜单项的标题或名称被更改为小写并保存在数据库中的同一行中,称为类,用于活动链接突出显示。所以点击侧边栏链接时会发生什么只是摘要div内容的内容 (在侧边栏右侧)发生更改,而侧边栏和导航栏保持不变。所以它停留在同一页面上并从数据库中检索数据并放入摘要 div 中。
<body class='noPadding'>
<div class='bigNav'> <!-- top navbar -->
<img src="images/logo2.png"/>
</div>
<?php
if(isset($_GET['subject'])){
$subject=$_GET['subject'];
?>
<div class='container'>
<div class='leftLayout' style='padding-top:70px;background-color:#EBEBEB'>
<ul class="fullFit">
<?php
$query="SELECT * FROM `study` WHERE `subject`='$subject'";
$run=mysqli_query($conn,$query);
while($row=mysqli_fetch_array($run)){
$topic=$row['topic'];
$class=$row['class']; ?>
<li class="<?php echo $class?>">
<a href='<?php echo $sitename ?>/web.php?subject=<?php echo $subject?>&topic=<?php echo $class?>'>
<?php echo $topic?>
</a>
</li>
<?php } ?>
</ul>
</div>
<?php
if(isset($_GET['topic'])) {
$active_id=$_GET['topic'];
$topic=$_GET['topic'];
$query="SELECT summary FROM `study` WHERE `class`='$active_id'";
$run=mysqli_query($conn,$query);
$row=mysqli_fetch_array($run);
$summary=$row[0];
?>
<div class='summary'> <?php echo $summary ?> </div>
<?php } ?>
</div>
<script>
$(document).ready(function(){
$(".<?php echo $active_id ?>").addClass("current");
});
</script>
<?php } ?>
</body>
而且,如果我必须像包括 W3Schools 在内的许多网站那样制作单个页面,我是否必须每次都创建一个新文件并在每个文件中包含导航栏和侧边栏(每个链接上应该保持相同) ? 他们是如何管理的?
【问题讨论】:
-
我推荐including 或requiring 文件。例如,导航中的“HTML 编辑器”可能链接到
index.php?page=editors。在您的index.php文件中,包含一个基于page变量的editors.php内容文件。这样您就不需要在每个文件中重复主要站点结构(标题、导航等)。您可能会发现这篇文章内容丰富:Organize Your Next PHP Project the Right Way -
我所描述的被称为"front controller" pattern。根据项目的复杂性,为每个页面创建一个单独的文件(
intro.php、editors.php等)并在每个文件中包含一个通用的navigation.php可能更简单或更有效。另请参阅这篇文章中的示例:simple php websites structure。 -
感谢您的评论。所以我现在应该制作单独的文件并在每个文件中包含标题吗?
-
你能告诉我为什么不推荐我这样做的原因吗?谢谢
-
这是一个简单的例子。这个问题可能过于宽泛或基于观点而无法在此处有效回答。你能告诉我们更多关于你网站内容的信息吗?您是否将每个主要部分(介绍、编辑、基本)称为“主题”?每个主题是否包含多个主题?每个主题都有一个摘要?
标签: javascript php jquery html css