鍍金池/ 問答/PHP/ php循環(huán)輸出表格?

php循環(huán)輸出表格?

循環(huán)的數(shù)組
Array
(
    [0] => Array
        (
            [field_id] => 368
            [model] => customer
            [is_main] => 0
            [field] => age_group
            [name] => 年齡層
            [form_type] => box
        )
    [1] => Array
        (
            [field_id] => 370
            [model] => customer
            [is_main] => 0
            [field] => trade
            [name] => 客戶行業(yè)
            [form_type] => box
        )
   [2] => Array
        (
            [field_id] => 374
            [model] => customer
            [is_main] => 0
            [field] => biz_scope
            [name] => 經(jīng)營(yíng)范圍
            [form_type] => text
         )
   [3] => Array
        (
            [field_id] => 375
            [model] => customer
            [is_main] => 0
            [field] => annual_turnover
            [name] => 年?duì)I業(yè)額
            [form_type] => box
       )
)
輸出表格的形式
                         <tr>
                            <td class="tdleft" width="9%">年齡層:</td>
                            <td colspan="3"  width="41%"> 25-50</td>
                            <td class="tdleft" width="9%">客戶行業(yè):</td>
                            <td colspan="3"  width="41%">醫(yī)療保健</td>
                        </tr>
                          <tr>
                            <td class="tdleft" width="9%">經(jīng)營(yíng)范圍:</td>
                            <td colspan="3"  width="41%">醫(yī)療用品</td>
                            <td class="tdleft" width="9%">年?duì)I業(yè)額:</td>
                            <td colspan="3"  width="41%">1000萬(wàn)</td>
                        </tr>
請(qǐng)問怎么用thinkphpvolist標(biāo)簽循環(huán)這個(gè)數(shù)組控制一個(gè)<tr>里面如上顯示?
回答
編輯回答
乖乖噠
這樣實(shí)現(xiàn)的
            <php>$j=0;</php>
            <volist name="field_data_list" id="vo">
                <php>$j++;</php>
                <td class="tdleft" width="9%">{$vo.name}:</td>
                <td colspan="3" width="41%">{$customer[$vo['field']]}</td>
                <if condition="$j%2 == 0 && $j lt count($field_data_list)">
                    </tr>
                </if>
            </volist>
2017年4月5日 04:09
編輯回答
蟲児飛

你這個(gè)東西只有4個(gè),直接寫死得了

2017年5月30日 15:27
編輯回答
鐧簞噯

把數(shù)組合成一維數(shù)組 直接輸出就可以了

2017年1月7日 22:07
編輯回答
淚染裳

看題主的意思應(yīng)該是每?jī)蓷l數(shù)據(jù)占一個(gè)<tr>(不知道理解的對(duì)不對(duì)),按照這個(gè)思路幫題主寫了個(gè)答案,題主不妨試試看,如下:

{volist name="list" id="vo" }
  {if condition="$i%2 == 1"}<tr>{/if}
    <td class="tdleft" width="9%">{$vo.name}:</td>
    <td colspan="3" width="41%"> xxxx</td>
  {if condition="$i%2 == 0"}</tr>{/if}
{/volist}

ps:其中“xxxx”的部分是因?yàn)闆]有在數(shù)組中找到相應(yīng)能夠?qū)?yīng)上的字段值。

2018年2月6日 22:32
編輯回答
小曖昧

謝邀,可以試試用array_column把單列抽出來(lái),再循環(huán)渲染到視圖上。


ThinkPHP我不熟啊,隨手寫了個(gè)原生的,看著改吧。

function makeTablesBy($arr) {
    $res = array_column($arr, 'name', 'field');
    $dom = "<tr>\n";
    $i = 0;
    foreach($res as $key => $value) {
        $i++;
        $dom .= "\t<td class=\"tdleft\" width=\"9%\">{$key}<\\td>\n";
        $dom .= "\t<td colspan=\"3\" width=\"41%\">{$value}<\\td>\n";
        if ($i%2===0 && $i!==count($res)) {
            $dom .= "<\\tr>\n<tr>\n";
        }
    }
    $dom .= "<\\tr>";
    return $dom;
}
2017年6月30日 09:27