因为我是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。 任何形式的帮助都会很好。甚至是其他类似帖子的例子。 谢谢!
答案 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;
}
?>