所以,我有一个MySQL数据库,将用户列为经理或员工。我想根据属性更改他们看到的菜单栏。我确实在php中完成了所有这些工作,但是在进行重新设计时,我考虑将其放在html文件中,但我无法弄清楚它应该如何工作。
这是我用来在文件menubar2.php中执行操作的php代码:
<?php
$email = $_SESSION['logname'];
$results = "SELECT email FROM manager_list WHERE email = '$email'";
$results = mysqli_query($cxn, $results) or die("Query died: query");
$numrows = mysqli_num_rows($results);
if ($numrows == 0)
{
echo"<div id='menu'>";
echo"<ul>";
echo"<li><a href='index2.php'>Quick Review</a></li>";
echo"<li><a href='myPerformance.php'>My Peformance</a></li>";
echo"<li><a href='myGoals.php'>My Goals</a></li>";
echo"<li><a href='sHelp.php'>Help</a></li>";
echo"</ul>";
echo"</div>";
}
if ($numrows > 0)
{
echo"<div id='menu'>";
echo"<ul>";
echo"<li><a href='index2.php'>Quick Review</a></li>";
echo"<li><a href='myPerformance.php'>My Peformance</a></li>";
echo"<li><a href='myGoals.php'>My Goals</a></li>";
echo"<li><a href='toolsManager.php'>Manager Tools</a></li>";
echo"<li><a href='sHelp.php'>Help</a></li>";
echo"</ul>";
echo"</div>";
}
?>
这是我使用它的地方(index.html)
<?php
include('sessionauth.php');
?>
<!DOCTYPE html>
<html>
<head>
<title>TinyEval</title>
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<div id="wrapper">
<?php
include('header2.php');
include('menubar2.php');
?>
<!-- begin #page -->
<div id="page">
<div id="content">
<div class="post">
<h2 class="title">Frequently Asked Questions</h2>
<div class="entry">
<p>How do I fix my headers?</p>
</div>
</div>
</div>
</div>
<div style="clear: both;"> </div>
<!-- end #page -->
</div>
<?php include('footer2.php'); ?>
</body>
</html>
有没有办法可以在没有menubar2.php的include
的情况下执行此操作 - 也就是说,将它全部放在html文件中,但不必使用所有echo
语句?
很抱歉这个新问题,但我正在努力弄清楚html和php / MySQL如何联系在一起。 谢谢!
答案 0 :(得分:0)
只要您将索引文件命名为index.php,此方法就很可靠。 PHP最初是一种HTML模板语言,像这样使用它包含部分页面是完全正确的。您可以将该代码直接放入index.php,但使用includes会使您的代码更具可重用性。此外,当您获得超过0行时,这里更简单,更干燥的方式来改变菜单:
$numrows = mysqli_num_rows($results);
//these lines get echoed in both cases
echo "<div id='menu'>";
echo "<ul>";
echo "<li><a href='index2.php'>Quick Review</a></li>";
echo "<li><a href='myPerformance.php'>My Peformance</a></li>";
echo "<li><a href='myGoals.php'>My Goals</a></li>";
if ($numrows > 0) {
echo "<li><a href='toolsManager.php'>Manager Tools</a></li>";
}
echo "<li><a href='sHelp.php'>Help</a></li>";
echo "</ul>";
echo "</div>";
为了进一步扩展PHP - 它是一种服务器端语言,这意味着它不会像Javascript那样在用户的浏览器中运行。当浏览器请求以PHP结尾的页面时,服务器运行脚本,打印出结果(通常为HTML)并仅向浏览器提供呈现的输出。在这种情况下,即使您的主index.php和includes都包含php脚本,浏览器中显示的内容也只是脚本的输出。