为mysql/php菜单做链接


make links for mysql/php menu

因为我是php的新手,我需要一些网页菜单的帮助,这些菜单存储在MySQL数据库中,然后用php调用到页面。我的PHP连接到数据库工作得很好,和菜单看起来应该,但我不知道如何使链接页面从菜单。示例:当菜单填充它会给我的家,约,画廊的问题是如何使他们链接到特定的页面,如约。php?下面是代码:

<?php
include('testconnect.php');
//calling menu from database
$query_sql = "SELECT * FROM meni";
$item_query = mysql_query($query_sql) or die(mysql_error());
$rsitem = mysql_fetch_assoc($item_query);
?>
<! DOCTYPE html>
<html>
<head><title></title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<link rel="stylesheet" href="style2.css" type="text/css" />
</head>
<body>
<nav>
<ul>
 <?php
 do {
 ?>
 <li><a href="menutest.php?meni_ID=<?php echo $rsitem['meni_ID']; ?>"><?php echo      $rsitem['item']; ?></a></li>
<?php    
}while ($rsitem = mysql_fetch_assoc($item_query));
?>
</ul>
</nav>
</body>
</html>

我把menutest.php放在link中只是为了看看它是否工作。MySql数据库有两个字段,meni_ID是整数,item是varchar。任何形式的帮助都会很好。甚至是其他类似帖子的例子。谢谢你!

您可以通过在GET变量的帮助下将变量从一个页面传递到另一个页面(about.php)来做到这一点。参考。

也可以通过会话变量传递一个数组(由菜单和页面链接组成)到另一个页面(例如about.php)。

<?php
// begin the session
session_start();
 // populate the array with menus or populate the array with the item that you want to pass to next(say about.php) page
$my_array=array('home','about','gallery');
// put the array in a session variable
$_SESSION['mymenu']=$my_array;
?>

about.php page

<?php
// begin the session
session_start();
// loop through the session array with foreach
foreach($_SESSION['mymenu'] as $key=>$value)
    {
    // and print the menu
    echo $value.' <br />';
    }
?>

乌利希期刊指南:我已经修改了你的代码。

<?php
session_start();
include('testconnect.php');
//calling menu from database
$query_sql = "SELECT * FROM meni";
$item_query = mysql_query($query_sql) or die(mysql_error());
$rsitem = mysql_fetch_assoc($item_query);
?>
<! DOCTYPE html>
<html>
<head><title></title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<link rel="stylesheet" href="style2.css" type="text/css" />
</head>
<body>
<nav>
<ul>
 <?php
$idx=0;
 do {
 ?>
 <li><a href="menutest.php?meni_ID=<?php echo $rsitem['meni_ID']; ?>"><?php echo      $rsitem['item']; ?></a></li>
<?php  
$meni_ID_ARR[$idx]= $rsitem['meni_ID'];
$item_ARR[$idx]=$rsitem['item'];
$idx++;
}while ($rsitem = mysql_fetch_assoc($item_query));
// put the array in a session variable
$_SESSION['meni_ID_ARR_SESS']=$meni_ID_ARR;
$_SESSION['item_ARR_SESS']=$item_ARR;
?>
</ul>
</nav>
</body>
</html>

/*printing menu in about.php page*/
<?php
session_start();
?>
<?
    if(isset($_SESSION['meni_ID_ARR_SESS']) && isset($_SESSION['item_ARR_SESS']))
    {
        $meniIDS=$_SESSION['meni_ID_ARR_SESS'];
        $meniITEM=$_SESSION['item_ARR_SESS'];
        for($idx=0;$idx<count($_SESSION['meni_ID_ARR_SESS']);$idx++)
        {
            echo  '<li><a href="menutest.php?meni_ID='.$meniIDS[$idx].' ">' .$meniITEM[$idx].'</a></li>';
        }
    }
    else
    {
        echo "Session not set!";
        exit;
    }
?>
<?php
include('testconnect.php');
//calling menu from database
$query_sql = "SELECT * FROM meni";
$item_query = mysql_query($query_sql) or die(mysql_error());
while($rsitem = mysql_fetch_array($item_query)) { ?>

<! DOCTYPE html>
<html>
<head><title></title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<link rel="stylesheet" href="style2.css" type="text/css" />
</head>
<body>
<nav>
<ul>
 <li><a href="menutest.php?meni_ID=<?php echo $rsitem['meni_ID']; ?>"><?php echo   $rsitem['item']; ?></a></li>

 <?php } ?>
</ul>
</nav>
</body>
</html>