你有三重 while 是哪一重不对?
打印出相关变量看看

解决方案 »

  1.   

     谢谢回复,不报错。
    $rowlist
    array(1) { [1]=> array(20) { [0]=> array(4) { [0]=> string(8) "164.0000" ["computed"]=> string(8) "164.0000" ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(12) "南京中央" } [1]=> array(4) { [0]=> string(9) "4512.0000" ["computed"]=> string(9) "4512.0000" ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(12) "南京商厦" } [2]=> array(4) { [0]=> string(9) "1207.0000" ["computed"]=> string(9) "1207.0000" ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(12) "南京山百" } [3]=> array(4) { [0]=> string(9) "2985.0000" ["computed"]=> string(9) "2985.0000" ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(12) "南京湖百" } [4]=> array(4) { [0]=> string(9) "5327.0000" ["computed"]=> string(9) "5327.0000" ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(12) "南京太平" } [5]=> array(4) { [0]=> string(9) "1360.0000" ["computed"]=> string(9) "1360.0000" ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(12) "南京九龙" } [6]=> array(4) { [0]=> string(8) "700.0000" ["computed"]=> string(8) "700.0000" ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(12) "南京长发" } [7]=> array(4) { [0]=> string(9) "4152.0000" ["computed"]=> string(9) "4152.0000" ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(15) "南京新城市" } [8]=> array(4) { [0]=> string(9) "2633.0000" ["computed"]=> string(9) "2633.0000" ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(15) "湖南路专卖" } [9]=> array(4) { [0]=> string(10) "10672.0000" ["computed"]=> string(10) "10672.0000" ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(12) "江宁苏果" } [10]=> array(4) { [0]=> string(9) "2323.0000" ["computed"]=> string(9) "2323.0000" ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(12) "溧水苏果" } [11]=> array(4) { [0]=> string(8) "750.0000" ["computed"]=> string(8) "750.0000" ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(15) "瑞金路特惠" } [12]=> array(4) { [0]=> string(9) "1194.0000" ["computed"]=> string(9) "1194.0000" ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(12) "桥北华联" } [13]=> array(4) { [0]=> string(9) "1530.0000" ["computed"]=> string(9) "1530.0000" ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(12) "六合苏果" } [14]=> array(4) { [0]=> string(9) "1540.0000" ["computed"]=> string(9) "1540.0000" ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(15) "三牌楼特惠" } [15]=> array(4) { [0]=> string(9) "8629.0000" ["computed"]=> string(9) "8629.0000" ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(12) "南京新百" } [16]=> array(4) { [0]=> string(9) "1399.0000" ["computed"]=> string(9) "1399.0000" ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(12) "南京德基" } [17]=> array(4) { [0]=> string(9) "1218.0000" ["computed"]=> string(9) "1218.0000" ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(15) "江宁万尚城" } [18]=> array(4) { [0]=> string(9) "2772.0000" ["computed"]=> string(9) "2772.0000" ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(15) "瑞金路专卖" } [19]=> array(4) { [0]=> NULL ["computed"]=> NULL ["RiQi"]=> string(10) "2014-07-28" ["KHMC"]=> string(18) "江宁富腾奥莱" } } }
      

  2.   

    谢谢回复,最里层的只循环了一次。
    打印$rowlist结果如下:
    array(1) {
      [1]=>
      array(20) {
        [0]=>
        array(4) {
          [0]=>
          string(8) "164.0000"
          ["computed"]=>
          string(8) "164.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(12) "南京中央"
        }
        [1]=>
        array(4) {
          [0]=>
          string(9) "4512.0000"
          ["computed"]=>
          string(9) "4512.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(12) "南京商厦"
        }
        [2]=>
        array(4) {
          [0]=>
          string(9) "1207.0000"
          ["computed"]=>
          string(9) "1207.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(12) "南京山百"
        }
        [3]=>
        array(4) {
          [0]=>
          string(9) "2985.0000"
          ["computed"]=>
          string(9) "2985.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(12) "南京湖百"
        }
        [4]=>
        array(4) {
          [0]=>
          string(9) "5327.0000"
          ["computed"]=>
          string(9) "5327.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(12) "南京太平"
        }
        [5]=>
        array(4) {
          [0]=>
          string(9) "1360.0000"
          ["computed"]=>
          string(9) "1360.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(12) "南京九龙"
        }
        [6]=>
        array(4) {
          [0]=>
          string(8) "700.0000"
          ["computed"]=>
          string(8) "700.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(12) "南京长发"
        }
        [7]=>
        array(4) {
          [0]=>
          string(9) "4152.0000"
          ["computed"]=>
          string(9) "4152.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(15) "南京新城市"
        }
        [8]=>
        array(4) {
          [0]=>
          string(9) "2633.0000"
          ["computed"]=>
          string(9) "2633.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(15) "湖南路专卖"
        }
        [9]=>
        array(4) {
          [0]=>
          string(10) "10672.0000"
          ["computed"]=>
          string(10) "10672.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(12) "江宁苏果"
        }
        [10]=>
        array(4) {
          [0]=>
          string(9) "2323.0000"
          ["computed"]=>
          string(9) "2323.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(12) "溧水苏果"
        }
        [11]=>
        array(4) {
          [0]=>
          string(8) "750.0000"
          ["computed"]=>
          string(8) "750.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(15) "瑞金路特惠"
        }
        [12]=>
        array(4) {
          [0]=>
          string(9) "1194.0000"
          ["computed"]=>
          string(9) "1194.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(12) "桥北华联"
        }
        [13]=>
        array(4) {
          [0]=>
          string(9) "1530.0000"
          ["computed"]=>
          string(9) "1530.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(12) "六合苏果"
        }
        [14]=>
        array(4) {
          [0]=>
          string(9) "1540.0000"
          ["computed"]=>
          string(9) "1540.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(15) "三牌楼特惠"
        }
        [15]=>
        array(4) {
          [0]=>
          string(9) "8629.0000"
          ["computed"]=>
          string(9) "8629.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(12) "南京新百"
        }
        [16]=>
        array(4) {
          [0]=>
          string(9) "1399.0000"
          ["computed"]=>
          string(9) "1399.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(12) "南京德基"
        }
        [17]=>
        array(4) {
          [0]=>
          string(9) "1218.0000"
          ["computed"]=>
          string(9) "1218.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(15) "江宁万尚城"
        }
        [18]=>
        array(4) {
          [0]=>
          string(9) "2772.0000"
          ["computed"]=>
          string(9) "2772.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(15) "瑞金路专卖"
        }
        [19]=>
        array(4) {
          [0]=>
          NULL
          ["computed"]=>
          NULL
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(18) "江宁富腾奥莱"
        }
      }
    }
      

  3.   

    最里层的依赖第二层的查询结果: DM1='$row[KHDM]' and RQ='$endDate'
    你怎么就知道一定会有?
      

  4.   

    我加了一个输出$startDate = '2014-07-28';

    $endDate   = $startDate ;

    $nowDate =Date('Y-m-d',time());

    $days=round((time()-strtotime("$startDate"))/86400);

    while($endDate != $nowDate){ while($row=mssql_fetch_array($result)){

    $result1=mssql_query("select sum(JE) from VW_SDLSMX where DM1='$row[KHDM]' and RQ='$endDate'",$conn);
    echo $endDate;

    while($rowlist1=mssql_fetch_array($result1)){

    $rowlist1[RiQi]="$endDate";

    $rowlist1[KHMC]=$row[KHMC];

    $rowlist[1][]=$rowlist1;

    }

    }

         $endDate = date('Y-m-d',strtotime($endDate.' +1 day'));
        
    }
    结果都为2014-07-28,第二层就只循环了一次。
      

  5.   

    那不就说明 $result 只有一条记录吗?
      

  6.   

     额第二个嵌套加个break$startDate = '2014-07-28';

    $endDate   = $startDate ;

    $nowDate =Date('Y-m-d',time());

    $days=round((time()-strtotime("$startDate"))/86400);

    while($endDate != $nowDate){ while($row=mssql_fetch_array($result)){

    $result1=mssql_query("select sum(JE) from VW_SDLSMX where DM1='$row[KHDM]' and RQ='$endDate'",$conn);

    while($rowlist1=mssql_fetch_array($result1)){

    $rowlist1[RiQi]="$endDate";

    $rowlist1[KHMC]=$row[KHMC];

    $rowlist[1][]=$rowlist1;

    }
    break;
    }

         $endDate = date('Y-m-d',strtotime($endDate.' +1 day'));
        
    }
    结果就这样了
    array(1) {
      [1]=>
      array(11) {
        [0]=>
        array(4) {
          [0]=>
          string(8) "164.0000"
          ["computed"]=>
          string(8) "164.0000"
          ["RiQi"]=>
          string(10) "2014-07-28"
          ["KHMC"]=>
          string(12) "南京中央"
        }
        [1]=>
        array(4) {
          [0]=>
          string(9) "3181.0000"
          ["computed"]=>
          string(9) "3181.0000"
          ["RiQi"]=>
          string(10) "2014-07-29"
          ["KHMC"]=>
          string(12) "南京商厦"
        }
        [2]=>
        array(4) {
          [0]=>
          string(9) "3435.0000"
          ["computed"]=>
          string(9) "3435.0000"
          ["RiQi"]=>
          string(10) "2014-07-30"
          ["KHMC"]=>
          string(12) "南京山百"
        }
        [3]=>
        array(4) {
          [0]=>
          string(9) "3174.0000"
          ["computed"]=>
          string(9) "3174.0000"
          ["RiQi"]=>
          string(10) "2014-07-31"
          ["KHMC"]=>
          string(12) "南京湖百"
        }
        [4]=>
        array(4) {
          [0]=>
          string(9) "5207.0000"
          ["computed"]=>
          string(9) "5207.0000"
          ["RiQi"]=>
          string(10) "2014-08-01"
          ["KHMC"]=>
          string(12) "南京太平"
        }
        [5]=>
        array(4) {
          [0]=>
          string(9) "2620.0000"
          ["computed"]=>
          string(9) "2620.0000"
          ["RiQi"]=>
          string(10) "2014-08-02"
          ["KHMC"]=>
          string(12) "南京九龙"
        }
        [6]=>
        array(4) {
          [0]=>
          string(9) "3667.0000"
          ["computed"]=>
          string(9) "3667.0000"
          ["RiQi"]=>
          string(10) "2014-08-03"
          ["KHMC"]=>
          string(12) "南京长发"
        }
        [7]=>
        array(4) {
          [0]=>
          string(9) "2344.0000"
          ["computed"]=>
          string(9) "2344.0000"
          ["RiQi"]=>
          string(10) "2014-08-04"
          ["KHMC"]=>
          string(15) "南京新城市"
        }
        [8]=>
        array(4) {
          [0]=>
          string(9) "2082.0000"
          ["computed"]=>
          string(9) "2082.0000"
          ["RiQi"]=>
          string(10) "2014-08-05"
          ["KHMC"]=>
          string(15) "湖南路专卖"
        }
        [9]=>
        array(4) {
          [0]=>
          string(9) "7988.0000"
          ["computed"]=>
          string(9) "7988.0000"
          ["RiQi"]=>
          string(10) "2014-08-06"
          ["KHMC"]=>
          string(12) "江宁苏果"
        }
        [10]=>
        array(4) {
          [0]=>
          string(8) "958.0000"
          ["computed"]=>
          string(8) "958.0000"
          ["RiQi"]=>
          string(10) "2014-08-07"
          ["KHMC"]=>
          string(12) "溧水苏果"
        }
      }
    }
      

  7.   

    echo mssql_num_rows($result);
    加载 while($row=mssql_fetch_array($result)){ 前面真不知道是你写程序,还是程序写你
      

  8.   

    $startDate = '2014-07-28';

    $endDate   = $startDate ;

    $nowDate =Date('Y-m-d',time());

    $days=round((time()-strtotime("$startDate"))/86400);

    while($endDate != $nowDate){
    echo mssql_num_rows($result);
    while($row=mssql_fetch_array($result)){

    $result1=mssql_query("select sum(JE) from VW_SDLSMX where DM1='$row[KHDM]' and RQ='$endDate'",$conn);

    while($rowlist1=mssql_fetch_array($result1)){

    $rowlist1[RiQi]="$endDate";

    $rowlist1[KHMC]=$row[KHMC];

    $rowlist[1][]=$rowlist1;

    }
    }

         $endDate = date('Y-m-d',strtotime($endDate.' +1 day'));
        
    }我被程序上了输出的结果是
      

  9.   

    num  都是对的,应该不会只循环了一次,楼主是怎么知道只循环了一次的?
      

  10.   

     while($endDate != $nowDate){
         echo mssql_num_rows($result); //看看这里
         while($row=mssql_fetch_array($result)){
              $result1=mssql_query("select sum(JE) from VW_SDLSMX where DM1='$row[KHDM]' and RQ='$endDate'",$conn);
              echo mssql_num_rows($result1); //再看看这里
      

  11.   

    看这个:
    $rowlist[1][]=$rowlist1;
    你都堆到$rowlist[1]里了,所以你觉得只进行了一次。。
      

  12.   

    3重while难道不能联合查询去掉一层?跑起来不小心就是3次方啊
      

  13.   

    看这个:
    $rowlist[1][]=$rowlist1;
    你都堆到$rowlist[1]里了,所以你觉得只进行了一次。。   如果都堆到1里的话  那结果应该是最后一天的,而不是第一天的吧
      

  14.   

    我只建议你 2 处 echo, 后面的 11个  20 是哪里来的?
    也不想想:为什么 20条记录在内层只出 11 个 20也不断一下行,连续的数字,你知道谁对谁吗?
    20 应表示外层有 20 条记录
    20 个 1 表示每条记录对应有一条记录($result1=mssql_query("select sum(JE) from VW_SDLSMX where DM1='$row[KHDM]' and RQ='$endDate'",$conn);)
    所以最终结果应有 20 个元素,你#4打印的不正好是 20 个吗?
      

  15.   


    $startDate = '2014-07-28';

    $endDate   = $startDate ;

    $nowDate =Date('Y-m-d',time());

    $days=round((time()-strtotime("$startDate"))/86400);

    while($endDate != $nowDate){
    echo mssql_num_rows($result);
    echo '<br>';
    while($row=mssql_fetch_array($result)){ $result1=mssql_query("select sum(JE) from VW_SDLSMX where DM1='$row[KHDM]' and RQ='$endDate'",$conn);
    echo mssql_num_rows($result1); 
    echo '<br>';
    while($rowlist1=mssql_fetch_array($result1)){

    $rowlist1[RiQi]="$endDate";

    $rowlist1[KHMC]=$row[KHMC];

    $rowlist[1][]=$rowlist1;

    }
    }

         $endDate = date('Y-m-d',strtotime($endDate.' +1 day'));
        
    }
      

  16.   

    本帖最后由 xuzuning 于 2014-08-09 10:32:57 编辑
      

  17.   

    $startDate = '2014-07-28';

    $endDate   = $startDate ;

    $nowDate =Date('Y-m-d',time());

    $days=round((time()-strtotime("$startDate"))/86400);

    while($endDate != $nowDate){
    echo mssql_num_rows($result);
    echo '.';
    while($row=mssql_fetch_array($result)){ $result1=mssql_query("select sum(JE) from VW_SDLSMX where DM1='$row[KHDM]' and RQ='$endDate'",$conn);
    echo mssql_num_rows($result1); 
    echo '-';
    while($rowlist1=mssql_fetch_array($result1)){

    $rowlist1[RiQi]="$endDate";

    $rowlist1[KHMC]=$row[KHMC];

    $rowlist[1][]=$rowlist1;

    }
    }

         $endDate = date('Y-m-d',strtotime($endDate.' +1 day'));
        
    }
      

  18.   

    怎么又弄错了:{
    代码的第9行改为
    mssql_data_seek($result, 0);
    while($row=mssql_fetch_array($result)) {
    不是
    mssql_field_seek($result, 0);
    while($row=mssql_fetch_array($result)) {