具体报错为:mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\it\product_sale_ad_query_result.php on line 32主要代码为: <?
  require("conn.php");
  $circle=$_POST["circle"];
echo $circle."<br>";
  $sql="";
  $all_sql="";
  $pagesize=3;
  
  if($circle=="1")
  {
   $all_sql="select count(*) from s_product where day(sdate)=day(now())";
   $sql="select * from s_product where day(sdate)=day(now())";
  }else if($circle=="2")
  {
   $all_sql="select count(*) from s_product where month(sdate)=month(now())";
   $sql="select * from s_product where month(sdate)=month(now())";
  }else if($circle=="3")
  {
   $all_sql="select count(*) from s_product where year(sdate)=year(now())";
    $sql="select * from s_product where year(sdate)=year(now())";
  }
  
  // 分页部分
  $all_rs=mysql_query($all_sql);
  $myrow=mysql_fetch_array($all_rs);
  $numrows=$myrow[0];
echo $numrows."<br>";
  // 计算总页数
  $pages=intval($numrows/$pagesize);
  if($numrows%$pagesize)
  {
   $pages++;
  }
  // 设置页数
  if(isset($_GET['page']))
  {
   $page=intval($_GET['page']);
  }else
  {
   $page=1;
  }
  // 计算记录偏移量
  $offset=$pagesize*($page-1);
  // 读取指定记录数
  $rs=mysql_query($sql." limit $offset, $pagesize");
  echo $sql." limit $offset, $pagesize";
  echo "<table align='center' width='50%'>";
  echo "<tr><td>产品名</td><td>价格</td><td>日期</td><td>数量</td><td>购买人</td></tr>";
  // 记录部分
  if($srow=mysql_fetch_array($rs))
  {
   $i=0;
   do{
   $i++;
   echo "<tr>";
   echo "<td>".$srow['name']."</td>";
   echo "<td>".$srow['price']."</td>";
   echo "<td>".$srow['sdate']."</td>";
   echo "<td>".$srow['quantity']."</td>";
   echo "<td>".$srow['uname']."</td>";
   echo "</tr>";
   } while($srow=mysql_fetch_array($rs));
  }
  echo "<tr><td colspan='5'>共有 ".$pages." 页</td></tr>";
  echo "<tr><td colspan='5'>";
  for($i=1; $i<=$pages; $i++)
  {
   echo "<a href='product_sale_ad_query_result.php?page=".$i."'>".$i."</a>&nbsp;&nbsp;";
  }
  echo "</td></tr>";
  echo "</table>";
?>
这个页面需要上一个页面提供的一个参数,可能是circle这个参数获得不了。请高手指教。

解决方案 »

  1.   

    $all_rs=mysql_query($all_sql);
    在它后面将$all_rs打出来人然后再数据库执行下先
      

  2.   

    你想取得总记录数,改为这样就行了啊:
              $all_rs=mysql_query($all_sql);
              $numrows =mysql_num_rows($all_rs);
              
      

  3.   

    问题出现在那个circle上。本来是由上一个页面传入的。然后在分页时访问第一页以外的就会出错,这个circle值为空。
      

  4.   

     if($circle=="1")
                  {
                      $all_sql="select count(*) from s_product where day(sdate)=day(now())";
                      $sql="select * from s_product where day(sdate)=day(now())";
                  }else if($circle=="2")
                  {
                      $all_sql="select count(*) from s_product where month(sdate)=month(now())";
                      $sql="select * from s_product where month(sdate)=month(now())";
                  }else if($circle=="3")
                  {
                      $all_sql="select count(*) from s_product where year(sdate)=year(now())";
                    $sql="select * from s_product where year(sdate)=year(now())";
              }你应该设置个默认,如
    else{
    $all_sql = '';
    }
      

  5.   

    你确定你的数据是POST过来的吗?!
    尝试var_dump一下
      

  6.   

    for($i=1; $i<=$pages; $i++)
              {
                  echo "<a href='product_sale_ad_query_result.php?page=".$i."'>".$i."</a>&nbsp;&nbsp;";
              }
    改为:
    for($i=1; $i<=$pages; $i++)
              {
                  echo "<a href='product_sale_ad_query_result.php?page=".$i."&circle='此处为你从php页面穿过来的circle值''>".$i."</a>&nbsp;&nbsp;";
              }