Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 1表中的2 foreach未正常工作_Javascript_Php_Html_Css_Foreach - Fatal编程技术网

Javascript 1表中的2 foreach未正常工作

Javascript 1表中的2 foreach未正常工作,javascript,php,html,css,foreach,Javascript,Php,Html,Css,Foreach,我尝试在一个表中循环2个查询。两个查询都有10条记录。因此,我将我的第一个foreach(或循环)放在TR标记之前 下面是我要创建的表的示例: .table,th,td{border:1px solid} 缺货 按数量销售 第一次查询的数据1 第一次查询的数据1 第二次查询的数据1 第二次查询的数据1 第1次查询的数据2 第1次查询的数据2 第二次查询的数据2 第二次查询的数据2 第1次查询的数据3 第1次查询的数据3 第二次查询的数据3 第二次查询的数据3 第1次查询的数据4 第1次查询的

我尝试在一个表中循环2个查询。两个查询都有10条记录。因此,我将我的第一个foreach(或循环)放在TR标记之前

下面是我要创建的表的示例:

.table,th,td{border:1px solid}

缺货
按数量销售
第一次查询的数据1
第一次查询的数据1
第二次查询的数据1
第二次查询的数据1
第1次查询的数据2
第1次查询的数据2
第二次查询的数据2
第二次查询的数据2
第1次查询的数据3
第1次查询的数据3
第二次查询的数据3
第二次查询的数据3
第1次查询的数据4
第1次查询的数据4
第二次查询的数据4
第二次查询的数据4

是的,您的逻辑缺少一些东西,因为第二个循环在第一个循环中运行,所以您在同一个TR中创建了很多TDs

为了实现您想要的,我建议合并两个数组,然后循环单个数组

<?php
$merged_array = [];
foreach($First_Data as $key => $row) {
    $merged_array[$key] = ['first' => $row];
}

foreach($Second_data as $key => $row) {
    $merged_array[$key]['second'] = $row;
}

/// HTML
?>
<tbody>   
    <?php foreach($merged_array as $key => $data){?>   
        <tr>
            <td><?=$data['first']['yourcolumnname'] ?></td>
            <td><?=$data['first']['yourcolumnname2'] ?></td>
            <td><?=$data['second']['yourcolumnname'] ?></td>
            <td><?=$data['second']['yourcolumnname2'] ?></td>
        </tr>
    <?php }?>
</tbody>

或者,如果您100%确定两个数组之间的键相同,也可以执行以下较短的版本,而无需合并两个数组:

<tbody>   
    <?php foreach($First_Data as $key => $row){?>   
        <tr>
            <td><?=$row['yourcolumnname'] ?></td>
            <td><?=$row['yourcolumnname2'] ?></td>
            <td><?=$Second_data[$key]['yourcolumnname'] ?></td>
            <td><?=$Second_data[$key]['yourcolumnname2'] ?></td>
        </tr>
    <?php }?>
</tbody>


非常感谢兄弟。。我完全按照你的代码和它的工作。。我真的很感谢你的回答。。兄弟我想问如果记录不相等怎么办?代码仍然正常工作。正确的?仅供参考:我选择了第一种方式,而不是较短的版本。:)这实际上取决于表和查询的结构。对于这两种方法,它们都是按顺序排列的,因此如果两个表以相同的方式排序,并且具有相同的ID,则应该可以。否则,您需要使用对象的ID来了解$first_数据和$second_数据是否引用同一个对象。是否有任何方法处理数据不相等的foreach?。例如,第一个查询有10条记录,第二个查询只有5条记录。如果5条记录之后的foreach循环未找到任何第二个数据,我们是否可以将其处理为回显0或让表的单元格为空。。您可以使用
isset
检查该值是否存在,而无需在打印iti之前发出任何警告。我使用isset检查该值是否存在,因此如果不存在,则回显值0,并且它可以工作。。谢谢先生,我从你那里学到了很多,再次感谢你帮了我的忙。。你是最好的:)