• 436阅读
  • 12回复

遍历数组 [复制链接] [手机版]

上一主题 下一主题
离线zhangjingyu

只看楼主 倒序阅读 使用道具 绿 楼主  发表于: 2024-04-04 17:47:40 星期四
关键词: 家园温馨家园
这个一直没研究明白,慢慢来,稍微有一点儿感觉了。
  1. <?php
  2. require_once('global.php');//保存在根目录用这行
  3. //require_once ('../global.php');//保存在一级子目录用这行
  4. //require_once ('../../global.php');//保存在二级子目录用这行
  5.     $query = $db->query("SELECT * FROM pw_cnalbum where atype='1'");
  6.     while ($rt = $db->fetch_array($query)) {
  7.         $actdb[] = $rt['aname'];
  8.     }
  9. echo $actdb[0];
  10. echo "$actdb[1],$actdb[2],$actdb[3],$actdb[4],$actdb[5],$actdb[6]";
  11. ?>
输出:默认相册无线电2册,无线电3册,温馨家园,无线电301册,无线电300册,
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 沙发  发表于: 2024-04-04 17:54:51 星期四  点亮(0)
看论坛首页最下面社区明星php文件,重点是第9行。如果楼上的测试代码第7行换成这样的,会输出什么结果呢?
  1. $query = $db->query("SELECT m.uid,m.username,m.icon,m.groupid,m.memberid,md.rvrc,md.money,md.postnum,md.todaypost,md.lastpost,md.onlinetime FROM pw_members m LEFT JOIN  pw_memberdata md USING(uid) WHERE md.lastpost>'$tdtime' ORDER BY md.todaypost DESC limit 0,4");
  2.         while($tuser=$db->fetch_array($query)){
  3.                 if($p<4){
  4.                         $tuser['onlinetime']=floor($tuser['onlinetime']/3600);
  5.                         $tuser['rvrc']=floor($tuser['rvrc']/10);
  6.                         list($tuser['icon']) = showfacedesign($tuser['icon'],1);
  7.                         $tuser['levelname']= $tuser['groupid']=='-1' ? $ltitle[$tuser['memberid']] : $ltitle[$tuser['groupid']];
  8.                         $tuserpost.="\r\n\t'$tuser[uid]' => array(\r\n\t\t'uid' => '$tuser[uid]',\r\n\t\t'username' => '$tuser[username]',\r\n\t\t'icon' => '$tuser[icon]',\r\n\t\t'groupids' => '$tuser[levelname]',\r\n\t\t'rvrc' => '$tuser[rvrc]',\r\n\t\t'money' => '$tuser[money]',\r\n\t\t'todaypost' => '$tuser[todaypost]',\r\n\t\t'postnum' => '$tuser[postnum]',\r\n\t\t'onlinetime' => '$tuser[onlinetime]',\r\n\t),\r\n";
  9.                         $sortuser[]=array('uid' => $tuser[uid],'username' => $tuser[username],'icon' => $tuser[icon],'groupids' => $tuser[levelname],'rvrc' => floor($tuser[rvrc]),'money' => $tuser[money],'todaypost' => $tuser[todaypost],'postnum' => $tuser[postnum],'onlinetime' => $tuser[onlinetime]);
  10.                 }

模板文件:
  1. <table cellspacing="0" cellpadding="0" width="100%"">
  2. <tr class="h">
  3.     <td style="text-align:center;" height="30" colspan="2"><b>今日状元</b></td>
  4.     <td style="text-align:center;" colspan="2"><b>今日榜眼</b></td>
  5.     <td style="text-align:center;" colspan="2"><b>今日探花</b></td>
  6.     <td style="text-align:center;" colspan="2"><b>明日之星</b></td>
  7. </tr>
  8. <tr class="f_one">
  9. <!--
  10. EOT;
  11. foreach($sortuser as $newst){print <<<EOT
  12. -->
  13.     <td width=8% align=center class="userpic" style="padding:6px 4px;"><a href="u.php?uid=$newst[uid]" target="_blank"  title="访问个人空间"><img src="$newst[icon]" width=75 height=75  ></a></td>
  14.     <td width=16% style="border-right:1px solid $tdcolor;">
  15.     会员:<a href="u.php?uid=$newst[uid]" target="_blank"  title="访问个人空间"><font color=#ff00ff><b>$newst[username]</b></font></a> <br>
  16.     级别:<font color=#ff6600><b>$newst[groupids]</b></font><br>
  17.     发帖:<font color=#ff6600><b>$newst[postnum]</b></font><br>
  18.     今日:<font color=#ff0000><b>$newst[todaypost]</b></font><br>
  19.     在线:<font color=#ff6600><b>$newst[onlinetime]</b></font>小时
  20.     </td>
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 板凳  发表于: 2024-04-04 18:06:06 星期四  点亮(0)
如果楼上的测试代码第7行换成这样的,会输出什么结果呢?
那样,似乎还需要在htm文件中重新循环遍历才能看到结果。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 地板  发表于: 2024-04-04 19:54:59 星期四  点亮(0)
展示下刚刚完成的文件。24个群组相册应该够用了吧。至于更新照片准确数量的工作还是交给后台完成吧,文件还未开始写。
<?php
require_once('global.php');//保存在根目录用这行
//require_once ('../global.php');//保存在一级子目录用这行
//require_once ('../../global.php');//保存在二级子目录用这行
    $query = $db->query("SELECT * FROM pw_cnalbum where atype='1'");
    while ($rt = $db->fetch_array($query)) {
        $u[]=$rt[aid];
        $v[]=$rt[aname];
        $w[]=$rt[photonum];

        }

$aid="$u[0],$u[1],$u[2],$u[3],$u[4],$u[5],$u[6],$u[7],$u[8],$u[9],$u[10],$u[11],$u[12],$u[13],$u[14],$u[15],$u[16],$u[17],$u[18],$u[19],$u[20],$u[21],$u[22],$u[23]";
$aid=rtrim($aid,",");

//统计群组相册数量
$albumnum=$db->get_one("SELECT COUNT(*) as num FROM pw_cnalbum WHERE atype='1'");
//统计群组照片数量
$photonum=$db->get_one("SELECT SUM(photonum) as photonum FROM pw_cnalbum WHERE atype='1'");
//查询照片准确数量
$turenum=$db->get_one("SELECT COUNT(*) as num FROM pw_cnphoto WHERE aid in ($aid)");

echo "aid aname photonum<br>";
echo "$u[0]\t$v[0]\t$w[0]\t$x[0]<br>";
echo "$u[1]\t$v[1]\t$w[1]\t$x[1]<br>";
echo "$u[2]\t$v[2]\t$w[2]\t$x[2]<br>";
echo "$u[3]\t$v[3]\t$w[3]\t$x[3]<br>";
echo "$u[4]\t$v[4]\t$w[4]\t$x[4]<br>";
echo "$u[5]\t$v[5]\t$w[5]\t$x[5]<br>";
echo "$u[6]\t$v[6]\t$w[6]\t$x[6]<br>";
echo "$u[7]\t$v[7]\t$w[7]\t$x[7]<br>";
echo "$u[8]\t$v[8]\t$w[8]\t$x[8]<br>";
echo "$u[9]\t$v[9]\t$w[9]\t$x[9]<br>";
echo "$u[10]\t$v[10]\t$w[10]\t$x[10]<br>";
echo "$u[11]\t$v[11]\t$w[11]\t$x[11]<br>";
echo "$u[12]\t$v[12]\t$w[12]\t$x[12]<br>";
echo "$u[13]\t$v[13]\t$w[13]\t$x[13]<br>";
echo "$u[14]\t$v[14]\t$w[14]\t$x[14]<br>";
echo "$u[15]\t$v[15]\t$w[15]\t$x[15]<br>";
echo "$u[16]\t$v[16]\t$w[16]\t$x[16]<br>";
echo "$u[17]\t$v[17]\t$w[17]\t$x[17]<br>";
echo "$u[18]\t$v[18]\t$w[18]\t$x[18]<br>";
echo "$u[19]\t$v[19]\t$w[19]\t$x[19]<br>";
echo "$u[20]\t$v[20]\t$w[20]\t$x[20]<br>";
echo "$u[21]\t$v[21]\t$w[21]\t$x[21]<br>";
echo "$u[22]\t$v[22]\t$w[22]\t$x[22]<br>";
echo "$u[23]\t$v[23]\t$w[23]\t$x[23]<br>";


echo("<h2>恭喜你,查询完成!群组现有相册<font style='color:#f00'>{$albumnum['num']}</font>个:{$aid}。<br>相片准确数量为:{$turenum['num']}(数据来自pw_cnphoto表),统计数量为:{$photonum['photonum']}(来自pw_cnalbum表)</h2>");

?>
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 4楼 发表于: 2024-04-04 19:59:41 星期四  点亮(0)
本地测试输出结果:
aid aname photonum
14 默认相册 13
15 无线电2册 6
16 无线电3册 10
17 温馨家园 5
18 无线电301册 11
19 无线电300册 0




















恭喜你,查询完成!群组现有相册6个:14,15,16,17,18,19。
相片准确数量为:41(数据来自pw_cnphoto表),统计数量为:45(来自pw_cnalbum表)
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 5楼 发表于: 2024-04-04 20:38:47 星期四  点亮(0)
之所以中间有那么多的空行,是因为本地只有6个相册,输出的时候只有$u[0]到$u[5]行的数据,后面的18个没有数据。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 6楼 发表于: 2024-04-04 20:42:27 星期四  点亮(0)
上面的文件主要是查询及显示一些和群组相册有关的信息,并不修改数据表,所以还需要后台和php文件配合修改数据表中的照片数量为准确数据。这些都需要上面文件中的相册aid,也就是$u[]数组。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 7楼 发表于: 2024-04-04 21:58:45 星期四  点亮(0)
修改数据表的php文件及后台文件已经修改完成,本地测试好后已上传,到后台看下吧。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 8楼 发表于: 2024-04-04 22:02:47 星期四  点亮(0)
aid aname photonum
14 默认相册 11
15 莘县一中2023.12 12
16 温馨家园 0
恭喜你,查询完成!群组现有相册3个:14,15,16。
相片准确数量为:23(数据来自pw_cnphoto表),统计数量为:23(来自pw_cnalbum表)

这是家园论坛的实际数据(复制后中间的空行已经删除),应该可以了。
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!
离线zhangjingyu

只看该作者 9楼 发表于: 2024-04-04 22:15:10 星期四  点亮(0)
select aid,aname,ownerid,photonum from pw_cnalbum where atype='1'
into outfile '3.txt'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'

上面的语句可以在数据库中成功执行,却一直没能通过php文件成功。最后只能放弃,继续尝试研究主楼提到的方法。最后,基本可以实现我的想法吧。文件的保存路径是:
F:/zhangjingyu/phpwind/phpStudyB/MySQL/data/test/3.txt

内容大致如下(“\n”换成了“<br>”):
"14","默认相册","1","13"<br>"15","无线电2册","1","6"<br>"16","无线电3册","1","10"<br>"17","温馨家园","1","5"<br>"18","无线电301册","1","11"<br>"19","无线电300册","1","0"<br>
尊重每位祺师,做有价值的祺文化社区!欢迎光临,并感谢您的支持与陪伴!
我希望能通过这个论坛让更多的朋友更多的关爱自己的家人和朋友,不要等到有一天失去后才知道没有好好的珍惜,才知道
拥有的珍贵!亲爱的们,如果你懂得,请把这份关爱传递,让更多的人加入到爱心接力当中,让每个人的心中都洋溢着爱的温馨!

我们应该知道:岁月如梭!其实生命,是很短暂,也是很脆弱的东西…… 设置自己的帖子签名请点这里!