因此,我有一个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
语句?对newb问题感到抱歉,但是我让自己发疯了,试图弄清楚html和php / MySQL是如何结合在一起的。
谢谢!
最佳答案
只要您将索引文件命名为index.php,这种方法就是可靠的。 PHP最初是一种HTML模板语言,并且像这样将其与include一起用于页面的某些部分是完全正确的。您可以将该代码直接放入index.php,但是使用include可以使您的代码更可重用。同样,当您返回的行数超过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及其包含的文件中都包含php脚本,但浏览器中显示的只是脚本的输出。