在discuz的模板里数组循环怎么弄呀?

时间:2022-10-28 18:35:00
<!--{if $loglist}-->
<!--{loop $loglist $value}-->
<!--{eval $value = makecreditlog($value, $otherinfo);}-->
<tr>
<td><a href="home.php?mod=spacecp&ac=credit&op=log&optype=$value['operation']">$value['optype']</a></td>
<td>$value['credit']</td>
<td>$value['opinfo']</td>
<td>$value['dateline']</td>
                                         <td>$xxxxxxxxxxx</td>
</tr>
<!--{/loop}-->

比如上面这段代码,我想增加一个$xxxxxxxxxxx在里面,我在对应的php文件里写了sql查询如下:

$xxxxxxxxxxx = DB::result_first("SELECT * FROM pre_common_card WHERE uid='$_G[uid]' ORDER BY dateline DESC LIMIT 0,10");

现在的结果是,只能输出一个我想要的结果,无法输出$xxxxxxxxxxx里面全部的结果,应该是循环的问题吧?

请问该怎么写才能输出全部想要的数据呀?谢谢啦。

10 个解决方案

#1


希望大家帮帮忙

#2


像你这样子写 $xxxxxxxxxxx 应该是一个数组吧 加上相应的key不就可以了

#3


是呀,$xxxxxxxxxxx就是一个数组,但是现在只能读取一条数据。

楼上的朋友,具体怎么写呀?我是php新手,不是很懂,希望你能帮帮忙。

#4


现在出现了,代码可以输出数组的数据,但是所有数据都一样的,怎么办?

代码如下:

$xxx = DB::query("SELECT * FROM pre_common_card WHERE uid='$_G[uid]' and status=2 ORDER BY dateline DESC LIMIT 0,10");
$xxx2 = DB::fetch($xxx);

模板代码:

 <!--{loop $xxx2 $value}-->    
                <tr>
            <td>
            $xxx2['id']
            </td>
</tr>
            <!--{/loop}-->    

麻烦大家帮忙看看到底怎么啦?谢谢。

#5


希望大家帮帮忙

#6



<td>$value['credit']</td>
<td>$value['opinfo']</td>
<td>$value['dateline']</td> 表和
"SELECT * FROM pre_common_card WHERE uid='$_G[uid]' ORDER BY dateline DESC LIMIT 0,10");
进行多表联合查询,这样才能将uid和第一张表关联起来。
http://user.qzone.qq.com/937461184/blog/1330412851

#7


$xxx2['id'] 改为 $value['id'],如果我没理解错的话,

这个不就和foreach一样吗

#8


我不是需要多表查询哦,查询的是另外一张表的数据哦。

引用 6 楼 dmtnewtons 的回复:

<td>$value['credit']</td>
<td>$value['opinfo']</td>
<td>$value['dateline']</td> 表和
"SELECT * FROM pre_common_card WHERE uid='$_G[uid]' ORDER BY dateline DESC LIMIT 0,10");
进行多表联合查询,这样才能将uid和第一张……

#9


对的,这个在discuz里面就是和foreach一样的,但是如果改为value['id']的话,又啥也显出不出来了,不知道怎么回事,麻烦指教。

引用 7 楼 bojimiyabojimiya 的回复:
$xxx2['id'] 改为 $value['id'],如果我没理解错的话,

这个不就和foreach一样吗

#10


把$loglist数组打印出来看一下,是不是没有查询id字段呢
引用 9 楼 swasd 的回复:
对的,这个在discuz里面就是和foreach一样的,但是如果改为value['id']的话,又啥也显出不出来了,不知道怎么回事,麻烦指教。

引用 7 楼 bojimiyabojimiya 的回复:
$xxx2['id'] 改为 $value['id'],如果我没理解错的话,

这个不就和foreach一样吗

#1


希望大家帮帮忙

#2


像你这样子写 $xxxxxxxxxxx 应该是一个数组吧 加上相应的key不就可以了

#3


是呀,$xxxxxxxxxxx就是一个数组,但是现在只能读取一条数据。

楼上的朋友,具体怎么写呀?我是php新手,不是很懂,希望你能帮帮忙。

#4


现在出现了,代码可以输出数组的数据,但是所有数据都一样的,怎么办?

代码如下:

$xxx = DB::query("SELECT * FROM pre_common_card WHERE uid='$_G[uid]' and status=2 ORDER BY dateline DESC LIMIT 0,10");
$xxx2 = DB::fetch($xxx);

模板代码:

 <!--{loop $xxx2 $value}-->    
                <tr>
            <td>
            $xxx2['id']
            </td>
</tr>
            <!--{/loop}-->    

麻烦大家帮忙看看到底怎么啦?谢谢。

#5


希望大家帮帮忙

#6



<td>$value['credit']</td>
<td>$value['opinfo']</td>
<td>$value['dateline']</td> 表和
"SELECT * FROM pre_common_card WHERE uid='$_G[uid]' ORDER BY dateline DESC LIMIT 0,10");
进行多表联合查询,这样才能将uid和第一张表关联起来。
http://user.qzone.qq.com/937461184/blog/1330412851

#7


$xxx2['id'] 改为 $value['id'],如果我没理解错的话,

这个不就和foreach一样吗

#8


我不是需要多表查询哦,查询的是另外一张表的数据哦。

引用 6 楼 dmtnewtons 的回复:

<td>$value['credit']</td>
<td>$value['opinfo']</td>
<td>$value['dateline']</td> 表和
"SELECT * FROM pre_common_card WHERE uid='$_G[uid]' ORDER BY dateline DESC LIMIT 0,10");
进行多表联合查询,这样才能将uid和第一张……

#9


对的,这个在discuz里面就是和foreach一样的,但是如果改为value['id']的话,又啥也显出不出来了,不知道怎么回事,麻烦指教。

引用 7 楼 bojimiyabojimiya 的回复:
$xxx2['id'] 改为 $value['id'],如果我没理解错的话,

这个不就和foreach一样吗

#10


把$loglist数组打印出来看一下,是不是没有查询id字段呢
引用 9 楼 swasd 的回复:
对的,这个在discuz里面就是和foreach一样的,但是如果改为value['id']的话,又啥也显出不出来了,不知道怎么回事,麻烦指教。

引用 7 楼 bojimiyabojimiya 的回复:
$xxx2['id'] 改为 $value['id'],如果我没理解错的话,

这个不就和foreach一样吗