因此,我有一个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;">&nbsp;</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脚本,但浏览器中显示的只是脚本的输出。

08-18 20:58
查看更多