为mysql / php菜单创建链接

时间:2013-03-31 20:45:33

标签: php

因为我是php的新手,我需要一些存储在MySQL数据库中的网页菜单的帮助,然后用php调用页面。我与数据库的PHP连接运行良好,菜单看起来应该如此,但我不知道如何从菜单链接到页面。示例:当菜单被填充时它会给我回家,关于,画廊问题是如何使它们链接到特定页面,如about.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放在链接中,看它是否有效。 MySql数据库有两个字段meni_ID,它是整数,item vhich是varchar。 任何形式的帮助都会很好。甚至是其他类似帖子的例子。 谢谢!

2 个答案:

答案 0 :(得分:0)

<?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>

答案 1 :(得分:0)

您可以通过GET变量的帮助将变量从一个页面传递到另一个页面(about.php)来实现。 请参阅this

你也可以通过会话变量将一个数组(包含菜单和页面链接)传递给另一个页面(比如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

<?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 />';
    }
?>

UPD: 我修改了你的代码。

<?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;
    }

?>