我从数据库中查到两个表中的数据$querycictysql = "select * from cicty";
$qcr = mysql_query ( $querycictysql );
$qcrows = mysql_fetch_array ( $qcr );$querytypesql = "select * from type";
$qtr = mysql_query ( $querytypesql );
$qtrows = mysql_fetch_array ( $qtr );do{
echo qcrows['cicty']; //这里调用qcrows['cicty'],另外一个循环的数据,不在同一循环肯定调用不到
}while($qtrows = mysql_fetch_array ( $qtr ));do{}while($qcrows = mysql_fetch_array ( $qcr ));
后来我又改成了
do{
do{
echo qcrows['cicty']; //现在调用qcrows['cicty'],肯定能调用到,但是结果却是只循环了qcrows中的第一个数据,结果我贴在下面
}while($qtrows = mysql_fetch_array ( $qtr ));}while($qcrows = mysql_fetch_array ( $qcr ));
结果如下:
北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京北京上海天津重庆广州汕尾阳江揭阳茂名江门韶关惠州梅州汕头深圳珠海佛山肇庆湛江中山河源清远云浮潮州东莞沈阳铁岭大连鞍山抚顺本溪丹东锦州营口阜新辽阳朝阳盘锦葫芦岛南京无锡镇江苏州南通扬州盐城徐州淮安连云港常州泰州宿迁武汉仙桃天门潜江襄樊鄂州孝感黄冈黄石咸宁荆州宜昌十堰随州荆门恩施神农架成都眉山
我想要的结果是:
北京上海天津重庆广州汕尾阳江揭阳茂名江门韶关惠州梅州汕头深圳珠海佛山肇庆湛江中山河源清远云浮潮州东莞沈阳铁岭大连鞍山抚顺本溪丹东锦州营口阜新辽阳朝阳盘锦葫芦岛南京无锡镇江苏州南通扬州盐城徐州淮安连云港常州泰州宿迁武汉仙桃天门潜江襄樊鄂州孝感黄冈黄石咸宁荆州宜昌十堰随州荆门恩施神农架成都眉山不带重复的,如果在循环外声明个$cicty的变量,赋值失败。

解决方案 »

  1.   

    第二个循环前
    mysql_data_seek($qtrows,0);
      

  2.   

        你想要的结果不能清楚地反映程序需要的逻辑。只有北京是重复的,表cicty和type是什么关系?你需要的输出结果和表数据之间的关系请描述清楚。
      

  3.   

    $qtr = mysql_query ( $querytypesql );
    $qtrows = mysql_fetch_array ( $qtr );do{
    echo qcrows['cicty']; //这里调用qcrows['cicty'],另外一个循环的数据,不在同一循环肯定调用不到
    }while($qtrows = mysql_fetch_array ( $qtr ));
    //加上下面两行
    mysql_data_seek($qtr,0);//我前面回复看错变量了
    $qtrows = mysql_fetch_array ( $qtr );
    //
    do{}while($qcrows = mysql_fetch_array ( $qcr ));
      

  4.   

    干啊,看错了~~~~~~~~~~~~~~我以为是同一个sql结果~~~~~~~~~~请无视我的回复
      

  5.   


    我总共查询两张表,一张类型type表,一张是cicty城市表
    各个城市的类型type都是一样的,所以在循环城市的时候调用统一的type
    而在type中有个数据需要调用 cicty表中的cicty,即$qcrows['cicty'];不知道这样有没有说清楚
      

  6.   

    <?php
    $querycictysql = "select * from cicty";
    $qcr = mysql_query ( $querycictysql );$querytypesql = "select * from type";
    $qtr = mysql_query ( $querytypesql );while($qcrows = mysql_fetch_array ( $qcr ));{
    echo qcrows['cicty'];
    while($qtrows = mysql_fetch_array ( $qtr ));{
    //这里调用qcrows['cicty']做你想要做的事。
    }
    }
    ?>
      

  7.   

    cicty表:
    id cicty word 5666 北京 beijing
    5667 上海 shanghai
    5668 天津 tianjin
    type表
    id     typename         typeurl
    385 招聘      /zhaopin/
    387 求购      /qiugou/
    388 出租      /chuzu/就是这样的数据
    我要的结果就是 在循环中拼接
    $url=cicty['word'].type['typeurl'];
    这样的链接,您再结合我上面的循环说明,再看下了我上面是两种方式是:
    第一:先循环type表,然后再循环cicty,在循环cicty的时候拼接type数据。因为type数据是一样,发现$url拼接不能实现
    第二:在cicty循环里,每次循环到一座城市的时候再循环type,结果是在里面循环type的时候只能循环第一座城市
      

  8.   

    嗯 ,楼上的各位,我已经搞定了。
    原来是这样
    $querycictysql = "select * from cicty";
    $qcr = mysql_query ( $querycictysql );
    $qcrows = mysql_fetch_array ( $qcr );do{$querytypesql = "select * from type";
    $qtr = mysql_query ( $querytypesql );
    $qtrows = mysql_fetch_array ( $qtr );do{
    echo qcrows['cicty']; //现在调用qcrows['cicty'],肯定能调用到,但是结果却是只循环了qcrows中的第一个数据,结果我贴在下面
    }while($qtrows = mysql_fetch_array ( $qtr ));}while($qcrows = mysql_fetch_array ( $qcr ));不能把下面这段放在放在最外层,要放在里层才能实现,这样的话就不会重复单个城市了
    $querytypesql = "select * from type";
    $qtr = mysql_query ( $querytypesql );
    $qtrows = mysql_fetch_array ( $qtr );但是,这样的话问题又来了,关于性能方面,如果我cicty表表中有10000条数据,type表中有1000条,按照这样循环的话,更多数据的话不瘫痪了啊。
    所以问题又回到了最初,如果我只查询一遍type表,改如何实现呢?
    或者还有其他什么方法吗?

      

  9.   


    //放循环里面不断查,同样一个语句肯定不好~~~~~~~~~~试试吧,我没也相应的环境
    $querytypesql = "select * from type";
    $qtr = mysql_query ( $querytypesql );do{mysql_data_seek($qtr,0);//这里变动一下试试,将记录集指针重置
    $qtrows = mysql_fetch_array ( $qtr );do{
    echo qcrows['cicty']; //现在调用qcrows['cicty'],肯定能调用到,但是结果却是只循环了qcrows中的第一个数据,结果我贴在下面
    }while($qtrows = mysql_fetch_array ( $qtr ));}while($qcrows = mysql_fetch_array ( $qcr ));
      

  10.   

    恩 这个倒是可以了,但是又报错
    “Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in F://”
    如果把服务器display_errors   =   On,我本地调试设置为display_errors   =   Off可以正常,服务器php.ini不能修改的情况下,如何调整我的代码啊,谢谢! 参考同样错误:http://topic.csdn.net/t/20050926/18/4295247.html
      

  11.   

    循环改成
    while()
    {
    }
    的形式如果改了,注意$qtrows = mysql_fetch_array ( $qtr );这种就不必要先执行一次了,while条件里执行就好了
      

  12.   

     这样试了几次 还是不行
    错误是“Warning: mysql_data_seek(): supplied argument is not a valid MySQL result resource in ”不过还是谢谢你这一直以来的努力解决如果最后不行的话我只好牺牲双重循环的性能了。
      

  13.   

    你确认下变量名???模拟出现这个警告的方式是
    直接见一个php文件,就一行代码mysql_data_seek($res, 0);就会出现这样的警告$qtr = mysql_query(……)
    ||
    mysql_data_seek($qtr, 0);另外如果结果对的话,你在mysql_data_seek前面加上@,暂时用上不推荐循环查询,这个代价很高
      

  14.   

    两张完全没有关联关系的表放在一块,完全可以用一条sql语句得到你要的结果,何必分成两条。