PHP中交替取出MYSQL中两个或多个表中的值 引
作者: DH 日期: 2008-11-25 13:50
引用下吧
问题是这样的,有两个表S1、S2,二表结构和字段的属性完全相同。
现在需要在PHP当中取得这两个表中的值,当然可以先select * from S1取得所有所有的值赋给二维数组A[][]后再依样画葫芦select * from S2取得值赋给B[][];
但是,由于二表的结构完全相同,小可就想,能不能在取出S1赋值给A[][]的同时也取出S2赋值给B[][]?这样一来可以避免重复写编码,二来对于多个相同结构的表的处理时就比较方便了。
首先select s1.*, s2.* from s1,s2
是不可以的,这样可到的结果记录数是两表记录数的笛卡儿乘积,显然不符合题义
既然两表字段完全相同,读取数据时可用一个字定义函数。其实不相同也一样的
function get_recn($result_ori) {
for ( $temp_x = 0 ; $temp_x < $rows_ori ; $temp_x++)
{
$ori_row = mysql_fetch_array($result_ori);
$fieldname_ori = mysql_field_name($result_ori,0);
for ( $temp_y = 0 ; $temp_y < $cols_ori ; $temp_y++ )
{
$fieldname_ori = mysql_field_name( $result_ori,$temp_y );
$b[$temp_x + 1][$temp_y + 1] = (int) $ori_row[$fieldname_ori] ;
}
}
return $b;
}
$result_ori = mysql_query("select * from s1");
$cols_ori = mysql_num_fields($result_ori);
$rows_ori = mysql_num_rows($result_ori);
$a = get_recn($result_ori);
$result_ori = mysql_query("select * from s2");
$b = get_recn($result_ori);
mysql_free_result($result_ori);
订阅
上一篇
返回
下一篇
标签:

实例(Smarty+FCKeditor新闻系统) (2009-10-13 22:42)
mysql的字符串函数 (2009-09-16 13:43)
Linux下安装memcached和编译PHP扩展 (2009-09-16 10:40)
PHP对MYSQL数据库进行事务处理及表锁定 (2009-09-16 09:31)
PHP截取字符串 包函HTML标志的也可截取 (2009-06-25 13:48)
PHP中二维数组的排序 (2009-05-22 10:51)
缩略图程序 for ImageMagick for php(MagickWand) (2008-12-03 16:16)
php mail class (2008-07-11 11:46)
PHP里面实现JS的escape和unescape函数 (2008-06-13 15:44)