情况是这样的··主页与一级目录需要传一个值 之前都还好 值也都传过去了 但是我在一级目录下要做分页 这时问题来了
显示了N多错误 就是因为传的那个值有问题 希望大神给看下
主页传值如下:
href='list.php?CaID=".$row['CategoryID']."'一级目录页如下 :
<body>
<div id="main">
<div id="top">
<!--注册登录-->
<!--注册登录-->
<!--logo-->
<div class="advertising_top"> <img src="img/top.jpg" class="img_logo" /></div>
<!--logo结束-->
<!--导航开始-->
<div id="director">
<?
error_reporting(E_ALL);
$link=mysql_connect('localhost','root','5225')or die('Could not connect:'.mysql_error());
mysql_select_db('matv')or die ('Could not select database');
$sql="SELECT * FROM ma_category where CategoryLevel=1 and CategoryIsValid=1 ";
mysql_query('set Names "UTF8"'); /*db编码转为utf-8,要先转再查询,不然会乱码*/
$result=mysql_query($sql); /*执行sql语句*/
$cou=mysql_num_rows(mysql_query($sql));
if ($cou!=0)
{
$count=round(765 / $cou); /*定义一个变量 浮点型取整算出每个二级分类菜单的宽*/
while($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
echo "<div class='menu_top' ><a target='_self' width=".$count."px class='menu_a' href='list.php?CaID=".$row['CategoryID']."'>".$row['CategoryName']."</a></div>";
/*href链接为一级分类.html*/
}
mysql_free_result($result);
}
?>
</div>
<!--导航结束-->
</div><!--top结束-->
<div id="middle">
<!--影片墙开始-->
<div class="sort_title">
<div class="sort_left">热门电影</div>
<div class="sort_right">
<?
error_reporting(E_ALL);
echo"<a class='menu_a' target='_self' href='list.php?CaID=2'>更多</a>"
?></div>
</div>
<ul class="ul_block">
<div class="outside">
<?
error_reporting(E_ALL);
$sql_film="SELECT *
FROM ma_program,ma_programcategory
WHERE ma_program.ProgramID=ma_programcategory.ProgramID
and ma_programcategory.CategoryParentID=2
ORDER BY ProgramCategoryID DESC
LIMIT 0,8";
$result=mysql_query($sql_film);
while($row=mysql_fetch_array($result,MYSQL_ASSOC))
{
echo"<li><div class='film'>
<span><a href='detail.php?ProgramID=".$row['ProgramID']."'><img src='http://localhost/".$row['ProgramPicture']."' class='img_film'/></a>
<br>
<a href='detail.php?ProgramID=".$row['ProgramID']."' class='film_font'>".$row['ProgramName']."</a></span>
</div>
</li>";
}
?>
</div></ul> <div class="sort_title">
<div class="sort_left">热门电视剧</div>
<div class="sort_right">
<?
error_reporting(E_ALL);
echo"<a class='menu_a' target='_self' href='list.php?CaID=4'>更多</a>"
?>
</div>
</div>
<ul class="ul_block">
<div class="outside">
<?
error_reporting(E_ALL);
$sql_film="SELECT *
FROM ma_program,ma_programcategory
WHERE ma_program.ProgramID=ma_programcategory.ProgramID
and ma_programcategory.CategoryParentID=4
ORDER BY ProgramCategoryID DESC
LIMIT 0,8";
$result=mysql_query($sql_film);
while($row=mysql_fetch_array($result,MYSQL_ASSOC))
{
echo"<li><div class='film'>
<span><a href='detail.php?ProgramID=".$row['ProgramID']."'><img src='".$row['ProgramPicture']."' class='img_film'/></a>
<br>
<a href='detail.php?ProgramID=".$row['ProgramID']."' class='film_font'></a></span>
</div>
</li>";
}
?>
</div></ul>
<!--影片墙结束-->
</div>
<div id="bottom">
<p class="font_bz">备注:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</p>
</div>
</div>解释:因为在一级目录的sql中也用到了CategoryID 所以我在主页传值就换了一个 换成了CaID 怕他传乱了 但是还是很多问题 在CaID 麻烦帮忙检查一下 应该怎么写 主要全都是CaID传值的问题应该 报错如下:
Undefined variable: CaID 就是这样
显示了N多错误 就是因为传的那个值有问题 希望大神给看下
主页传值如下:
href='list.php?CaID=".$row['CategoryID']."'一级目录页如下 :
<body>
<div id="main">
<div id="top">
<!--注册登录-->
<!--注册登录-->
<!--logo-->
<div class="advertising_top"> <img src="img/top.jpg" class="img_logo" /></div>
<!--logo结束-->
<!--导航开始-->
<div id="director">
<?
error_reporting(E_ALL);
$link=mysql_connect('localhost','root','5225')or die('Could not connect:'.mysql_error());
mysql_select_db('matv')or die ('Could not select database');
$sql="SELECT * FROM ma_category where CategoryLevel=1 and CategoryIsValid=1 ";
mysql_query('set Names "UTF8"'); /*db编码转为utf-8,要先转再查询,不然会乱码*/
$result=mysql_query($sql); /*执行sql语句*/
$cou=mysql_num_rows(mysql_query($sql));
if ($cou!=0)
{
$count=round(765 / $cou); /*定义一个变量 浮点型取整算出每个二级分类菜单的宽*/
while($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
echo "<div class='menu_top' ><a target='_self' width=".$count."px class='menu_a' href='list.php?CaID=".$row['CategoryID']."'>".$row['CategoryName']."</a></div>";
/*href链接为一级分类.html*/
}
mysql_free_result($result);
}
?>
</div>
<!--导航结束-->
</div><!--top结束-->
<div id="middle">
<!--影片墙开始-->
<div class="sort_title">
<div class="sort_left">热门电影</div>
<div class="sort_right">
<?
error_reporting(E_ALL);
echo"<a class='menu_a' target='_self' href='list.php?CaID=2'>更多</a>"
?></div>
</div>
<ul class="ul_block">
<div class="outside">
<?
error_reporting(E_ALL);
$sql_film="SELECT *
FROM ma_program,ma_programcategory
WHERE ma_program.ProgramID=ma_programcategory.ProgramID
and ma_programcategory.CategoryParentID=2
ORDER BY ProgramCategoryID DESC
LIMIT 0,8";
$result=mysql_query($sql_film);
while($row=mysql_fetch_array($result,MYSQL_ASSOC))
{
echo"<li><div class='film'>
<span><a href='detail.php?ProgramID=".$row['ProgramID']."'><img src='http://localhost/".$row['ProgramPicture']."' class='img_film'/></a>
<br>
<a href='detail.php?ProgramID=".$row['ProgramID']."' class='film_font'>".$row['ProgramName']."</a></span>
</div>
</li>";
}
?>
</div></ul> <div class="sort_title">
<div class="sort_left">热门电视剧</div>
<div class="sort_right">
<?
error_reporting(E_ALL);
echo"<a class='menu_a' target='_self' href='list.php?CaID=4'>更多</a>"
?>
</div>
</div>
<ul class="ul_block">
<div class="outside">
<?
error_reporting(E_ALL);
$sql_film="SELECT *
FROM ma_program,ma_programcategory
WHERE ma_program.ProgramID=ma_programcategory.ProgramID
and ma_programcategory.CategoryParentID=4
ORDER BY ProgramCategoryID DESC
LIMIT 0,8";
$result=mysql_query($sql_film);
while($row=mysql_fetch_array($result,MYSQL_ASSOC))
{
echo"<li><div class='film'>
<span><a href='detail.php?ProgramID=".$row['ProgramID']."'><img src='".$row['ProgramPicture']."' class='img_film'/></a>
<br>
<a href='detail.php?ProgramID=".$row['ProgramID']."' class='film_font'></a></span>
</div>
</li>";
}
?>
</div></ul>
<!--影片墙结束-->
</div>
<div id="bottom">
<p class="font_bz">备注:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</p>
</div>
</div>解释:因为在一级目录的sql中也用到了CategoryID 所以我在主页传值就换了一个 换成了CaID 怕他传乱了 但是还是很多问题 在CaID 麻烦帮忙检查一下 应该怎么写 主要全都是CaID传值的问题应该 报错如下:
Undefined variable: CaID 就是这样
却没有if (isset(某数组[CaID]))
{
xxx = 某数组[CaID]
}
结论:你贴错了代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<link href="list.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="main">
<div id="top">
<!--注册登录-->
<!--注册登录-->
<!--logo-->
<div class="advertising_top"> <img src="img/top.jpg" class="img_logo" /></div>
<!--logo结束-->
<!--导航开始-->
<div id="director">
<?
error_reporting(E_ALL);
$_GET['CaID'];
$link=mysql_connect('localhost','root','5225')or die('Could not connect:'.mysql_error());
mysql_select_db('matv')or die ('Could not select database');
$sql="SELECT * FROM ma_category where CategoryLevel=1 and CategoryIsValid=1 ";
mysql_query('set Names "UTF8"'); /*db编码转为utf-8,要先转再查询,不然会乱码*/
$result=mysql_query($sql); /*执行sql语句*/
$cou=mysql_num_rows(mysql_query($sql));
if ($cou!=0)
{
$count=round(765 / $cou); /*定义一个变量 浮点型取整算出每个二级分类菜单的宽*/
while($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
echo "<div class='menu_top' ><a target='_self' width=".$count."px class='menu_a' href='list.php?CaID=".$row['CategoryID']."'>".$row['CategoryName']."</a></div>";
/*href链接为获取的一级分类.html*/
}
mysql_free_result($result);
}
?>
</div>
<!--导航结束-->
</div>
<!--top结束-->
<div id="middle">
<!--分类名称-->
<div class="sort_title">
<div class="sort_left">
<div class="left_text">
<?
error_reporting(E_ALL);
$sql="SELECT CategoryName from ma_category where CategoryID=".$CaID;
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
echo"".$row['CategoryName']."";
?>
</div><div class="left_textt">
<?
error_reporting(E_ALL);
$sql="SELECT * FROM ma_category where CategoryLevel=2 and CategoryIsValid=1 and CategoryParentID=".$CaID;
$result=mysql_query($sql); /*执行sql语句*/while($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
echo "<div class='menu_top' ><a target='_self' class='menu_a' href='listt.php?CaaID=".$row['CategoryID']."'>".$row['CategoryName']."</a></div>";
/*href链接为二级分类.html*/
}
?></div>
</div>
<div class="sort_right">
<?
error_reporting(E_ALL);
echo "<a class='menu_a' target='_self' href='default.php?'>返回</a>"
?>
</div>
</div>
<!--影片墙开始-->
<?
$sql="SELECT ma_program.ProgramID FROM ma_program,ma_programcategory
WHERE ma_program.ProgramID=ma_programcategory.ProgramID
AND ma_programcategory.CategoryParentID=".$CaID;
$total=mysql_num_rows(mysql_query($sql));
$pagesize=4; //每页显示数据条数
$pagelen=5; //分页显示页码的个数
$pages=ceil($total/$pagesize); //取整计算最大分页数
$page=isset($_GET['page'])?$_GET['page']:1; //默认当前页码为1
$pageoffset=2; //页码偏移量 本站中固定页码为5 所以偏移量不做动态 固定为2
//影片开始$sql_a="SELECT * FROM ma_program,ma_programcategory
WHERE ma_program.ProgramID=ma_programcategory.ProgramID
AND ma_programcategory.CategoryParentID=".$CaID."
ORDER BY ma_programcategory.CategoryID DESC
LIMIT ".(($page-1)*$pagesize).",".$pagesize;
$result=mysql_query($sql_a);
while($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
echo"<div class='film'>
<span><a href='detail.php?ProgramID=".$row['ProgramID']."'><img src='http://localhost/".$row['ProgramPicture']."' class='img_film'/></a>
<br>
<a href='detail.php?ProgramID=".$row['ProgramID']."' class='film_font'>".$row['ProgramName']."</a></span>
</div>
";
}//影片结束
//分也开始
if($page!=1)
{
echo"<a href='list.php?page.=".($page-1)."'>上一页</a>"; //输出上一页连接
if($pages>$pagelen) //例如总共6页 但页码为12345
{
if($page<=$pageoffset) //例如 当前为第二页 总页数为7页
{
$init=1;
$max=$pagelen;
for($i=1;$i<=$max;$i++)
{
echo"<li><a href='list.php'?page=".$i."&CaID=".$CaID.">".$i."</li>";
}
}
else //当前页大于等于3时
{
if($page+$pageoffset>=$pages+1) //右偏移超出最大页码数 例如当前页为5 最大页码为6
{
$init=$page-$pagelen+1;
for($i=$init;$i<=$pages;$i++)
{
echo"<li><a href='list.php'?page=".$i."&CaID=".$CaID."'>".$i."</a></li>";
}
}
else //左右偏移都存在时
{
$init=$page-$pageoffset;
$max=$page+$pageoffset;
for($i=$init;$i<=$max;$i++)
{
echo"<li><a href='list.php'?page=".$i."&CaID=".$CaID.">".$i."</a></li>";
}
}
}
}
else
{
for($i=1;$i<=$pages;$i++)
{
echo"<li><a href='list.php?page=".$i.">".$i."</a></li>";
}
}
echo"<a href='list.php?page=".($page+1)."&CaID=".$CaID."'>下一页</a>";
}
else
{
echo"<li><a href=''>上一页</a></li>";
if ($pagelen<=$pages)
{
for($i=1;$i<=$pagelen;$i++)
{
echo "<li><a href='list.php'?page=".$i."&CaID=".$CaID.">".$i."</a></li>";
}
}
else
{
for($i=1;$i<=$pages;$i++)
echo "<li><a href='list.php'?page=".$i."&CaID=".$CaID.">".$i."</a></li>";
}
echo"<a href='list.php?page=".($page+1)."&CaID=".$CaID."'>下一页</a>";
}
?>
<!--影片墙结束-->
</div><!--middle结束--><div id="bottom">
<p class="font_bz">备注:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</p>
</div>
</div>
</div>
</body></html>
比如说
在list.php
你想输出当前请求的分类id的文章
href='list.php?CaID=".$row['CategoryID']
但是,你直接访问list.php时候,因为那个CategoryID没有取到值,所以相当于访问
$row[],就出现这种错误
当然问题不见得是CategoryID没有值
只要你程序里某个数组, 所用索引是不存在的,那么就有这个错所以,你要在访问一些可能会因为某种情况(例如没传参数)导致没有数组索引时候,这样if (isset($某数组['xxx']) )
{
操作 $某数组['xxx'];
}这样比较严谨当然你也可以屏蔽Notice级错误
$cat_id = 默认值;
if (isset($_GET['CaID']) )
{
if (!empty($_GET['CaID']))
{
$cat_id = intval($_GET['CaID']);
}
}
sql = ...... where cat_id= $cat_id
$sql_a="SELECT * FROM ma_program,ma_programcategory
WHERE ma_program.ProgramID=ma_programcategory.ProgramID
AND ma_programcategory.CategoryParentID=".$CaID."
ORDER BY ma_programcategory.CategoryID DESC
LIMIT ".(($page-1)*$pagesize).",".$pagesize;
改成$sql_a="SELECT * FROM ma_program,ma_programcategory
WHERE ma_program.ProgramID=ma_programcategory.ProgramID
AND ma_programcategory.CategoryParentID=".$CaID."
ORDER BY ma_programcategory.CategoryID DESC
LIMIT ".(($page-1)*$pagesize+1).",".$pagesize;
试下
$CaID = $_GET['CaID'];