duanlei0282 2013-05-20 16:20
浏览 9

使用不同数据arays和维护表布局来填充一个表

 <table width="503" height="278" border="1">
        <tr align="center" valign="middle">
            <td height="34" align="center" valign="middle" id="side"><strong>TEST</strong></td>
            <td align="center" valign="middle"><strong>METHOD</strong></td>
            <td align="center" valign="middle"><strong>COMPEDIA</strong></td>
            <td align="center" valign="middle"><strong>SPECIFICATION</strong></td>
            <td align="center" valign="middle"><strong>DETERMINED</strong></td>
            <td align="center" valign="middle" id="side"><strong>REMARKS</strong></td>
        </tr>
         <?php foreach ($tests_requested_display2 as $value2)  ?><!--has values to populate the compedia and specification cells of the table-->
        <?php foreach ($tests_requested_display as $value) : ?> <!-- creates 3 dynamic rows-->
            <tr>
                <td height="56" align="center" valign="middle" id="side"><?php echo $value->name ?></td>
                <td align="center" valign="middle">Weight</td>
                <td align="center" valign="middle"><textarea name="compedia[]" cols="10" ><?php echo @$value2->compedia;?></textarea></td>
                <td align="center" valign="middle"><textarea name="specification[]" cols="10"><?php echo @$value2->specification;?></textarea></td>
                <td align="center" valign="middle">None Deviate</td>
                <td align="center" valign="middle" id="side">COMPLIES</td>
            </tr>
        <?php endforeach; ?>

    </table>

The first foreach array with $value contains 3 values which creates a table as defined above but with 3rows and 6 columns. I have a second foreach array $value2 has data that is to fill compedia and specification columns, if I echo $value2->compedia and $value->specification, it returns only the last value in the array out of six values and if I add end foreach same as for the $value array, it returns a weird result. What am I missing?

More info:

print_r($tests_requested_display) returns:

Array ( [0] => stdClass Object ( [name] => Dissolution ) [1] => stdClass Object ( [name] => Assay ) [2] => stdClass Object ( [name] => Uniformity of Weight ) ) Array ( [0] => stdClass Object ( [name] => Dissolution ) [1] => stdClass Object ( [name] => Assay ) [2] => stdClass Object ( [name] => Uniformity of Weight ) ) Array ( [0] => stdClass Object ( [name] => Dissolution ) [1] => stdClass Object ( [name] => Assay ) [2] => stdClass Object ( [name] => Uniformity of Weight ) ) 

and print_r($tests_requested_display2) returns:

Array ( [0] => stdClass Object ( [name] => Assay [compedia] => Caps [specification] => Tabs ) [1] => stdClass Object ( [name] => Dissolution [compedia] => Tabs [specification] => Caps ) [2] => stdClass Object ( [name] => Uniformity of Weight [compedia] => TabsCaps [specification] => CapsTabs ) ) Array ( [0] => stdClass Object ( [name] => Assay [compedia] => Caps [specification] => Tabs ) [1] => stdClass Object ( [name] => Dissolution [compedia] => Tabs [specification] => Caps ) [2] => stdClass Object ( [name] => Uniformity of Weight [compedia] => TabsCaps [specification] => CapsTabs ) ) Array ( [0] => stdClass Object ( [name] => Assay [compedia] => Caps [specification] => Tabs ) [1] => stdClass Object ( [name] => Dissolution [compedia] => Tabs [specification] => Caps ) [2] => stdClass Object ( [name] => Uniformity of Weight [compedia] => TabsCaps [specification] => CapsTabs ) ) 

The result that I expect as an example:

<table width="503" height="278" border="1">
        <tr align="center" valign="middle">
            <td height="34" align="center" valign="middle" id="side"><strong>TEST</strong></td>
            <td align="center" valign="middle"><strong>METHOD</strong></td>
            <td align="center" valign="middle"><strong>COMPEDIA</strong></td>
            <td align="center" valign="middle"><strong>SPECIFICATION</strong></td>
            <td align="center" valign="middle"><strong>DETERMINED</strong></td>
            <td align="center" valign="middle" id="side"><strong>REMARKS</strong></td>
        </tr>

        <tr>
            <td height="56" align="center" valign="middle" id="side">Assay</td>            
            <td align="center" valign="middle">Weight</td>
            <td align="center" valign="middle"><textarea name="compedia[]" cols="10">Caps</textarea></td>
            <td align="center" valign="middle"><textarea name="specification[]" cols="10">Tabs</textarea></td>
            <td align="center" valign="middle">None Deviate</td>
            <td align="center" valign="middle" id="side">COMPLIES</td>
        </tr>
           <tr>
            <td height="56" align="center" valign="middle" id="side">Dissolution</td>            
            <td align="center" valign="middle">Weight</td>
            <td align="center" valign="middle"><textarea name="compedia[]" cols="10">TabsCaps</textarea></td>
            <td align="center" valign="middle"><textarea name="specification[]" cols="10">CapsTabs</textarea></td>
            <td align="center" valign="middle">None Deviate</td>
            <td align="center" valign="middle" id="side">COMPLIES</td>
        </tr>
           <tr>
            <td height="56" align="center" valign="middle" id="side">Uniformity</td>            
            <td align="center" valign="middle">Weight</td>
            <td align="center" valign="middle"><textarea name="compedia[]" cols="10">Tabs</textarea></td>
            <td align="center" valign="middle"><textarea name="specification[]" cols="10">Caps</textarea></td>
            <td align="center" valign="middle">None Deviate</td>
            <td align="center" valign="middle" id="side">COMPLIES</td>
        </tr>

    </table>
  • 写回答

1条回答 默认 最新

  • dougaoxian8922 2013-05-20 16:45
    关注

    So the syntax is a little suspect to me, but keep in mind I'm pretty new to PHP in general so it may be okay. However, here is a modified version of the code that should do the trick for you:

    <?php foreach ($tests_requested_display2 as $value2) { ?>
        <?php foreach ($tests_requested_display as $value) { ?>
            <tr>
                <td height="56" align="center" valign="middle" id="side"><?=$value->name?></td>
                <td align="center" valign="middle">Weight</td>
                <td align="center" valign="middle"><textarea name="compedia[]" cols="10" ><?=@$value2->compedia?></textarea></td>
                <td align="center" valign="middle"><textarea name="specification[]" cols="10"><?=@$value2->specification?></textarea></td>
                <td align="center" valign="middle">None Deviate</td>
                <td align="center" valign="middle" id="side">COMPLIES</td>
            </tr>
        <?php } ?>
    <?php } ?>
    

    but it still won't solve this:

    if i echo $value2->compedia and $value->specification, it returns only the last value in the array out of six values

    because that list isn't iterated until all three values of the inner list is iterated. So from that perspective you could swap the loops and you would get three sets of six rows, or you could wrap the td tags and build the proper string value for the six values you want. It's not clear at all what you're really expecting that to do.

    评论

报告相同问题?

悬赏问题

  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用