我从数据库中查到两个表中的数据$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的变量,赋值失败。
$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的变量,赋值失败。
解决方案 »
- php中cookie和session是怎么样的啊?
- PHP在保留样式的前提下编辑WORD模板
- 在XP系统IIS中配置PHP环境
- 我想通过html传递一个参数。如何获取该参数
- 有没有什么方法能让一个PHP文件,在服务器端每隔一定时间执行一次!
- phpmailer 邮件组发邮件
- form验证输入错误后,让用户修改输入,但之前输入的都被清空了
- 怎样理解函数的定义?
- PHP Warning: Unknown(): Invalid library (maybe not a PHP library)
- PHP与Oracle中文显示不正常问题,在线等待
- lamp实例,照着例子写的,出了问题
- 怎样在Zend Studio发布项目?
mysql_data_seek($qtrows,0);
$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 ));
我总共查询两张表,一张类型type表,一张是cicty城市表
各个城市的类型type都是一样的,所以在循环城市的时候调用统一的type
而在type中有个数据需要调用 cicty表中的cicty,即$qcrows['cicty'];不知道这样有没有说清楚
$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']做你想要做的事。
}
}
?>
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的时候只能循环第一座城市
原来是这样
$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表,改如何实现呢?
或者还有其他什么方法吗?
//放循环里面不断查,同样一个语句肯定不好~~~~~~~~~~试试吧,我没也相应的环境
$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 ));
“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
while()
{
}
的形式如果改了,注意$qtrows = mysql_fetch_array ( $qtr );这种就不必要先执行一次了,while条件里执行就好了
错误是“Warning: mysql_data_seek(): supplied argument is not a valid MySQL result resource in ”不过还是谢谢你这一直以来的努力解决如果最后不行的话我只好牺牲双重循环的性能了。
直接见一个php文件,就一行代码mysql_data_seek($res, 0);就会出现这样的警告$qtr = mysql_query(……)
||
mysql_data_seek($qtr, 0);另外如果结果对的话,你在mysql_data_seek前面加上@,暂时用上不推荐循环查询,这个代价很高