【发布时间】:2023-03-27 01:22:02
【问题描述】:
我在 PHP 中使用以下代码从 MySQL 中提取数据:
<?php
require("connect.php");
$sql = "SELECT `inn_lay_list`, `inner_layer` FROM `da_customer_auto_inner`
where `mpcode` = 'qf017'";
$result = mysqli_query($conn,$sql);
while($row = mysqli_fetch_assoc($result)) {
$data1 = $row['inn_lay_list'];
$data2 = $row['inner_layer'];
}
$parts1 = explode(';',$data1);
$parts2 = explode(';',$data2);
$layer_cnt = count($parts1);
$array_inner = array_chunk($parts2, 8);
echo json_encode($parts1);
echo json_encode($array_inner);
mysqli_close($conn);
?>
我得到的结果是:
["001","011","021","031"]
[["1","2","3","4","5","6","7","8"], ["11","12","13" ,"14","15","16","17","18"], ["21","22","23","24","25","26","27" ,"28"],[31","32","33","34","35","36","37","38"]]
对于第一个数组中的每个元素,第二个数组(二维数组)中都有一个子数组。 现在我想使用表格在 HTML 页面中显示它。我正在尝试将 KnockoutJS “foreach” 选项与命名模板一起使用:
<script>
function MyViewModel() {
this.layer = [{
name: "<?=@$parts1[0]?>",
layer_data: "<?=@$array_inner[0]?>"
},
{
name: "<?=@$parts1[1]?>",
layer_data: "<?=@$array_inner[1]?>"
},
{
name: "<?=@$parts1[2]?>",
layer_data: "<?=@$array_inner[2]?>"
},
{
name: "<?=@$parts1[3]?>",
layer_data: "<?=@$array_inner[3]?>"
}]
}
ko.applyBindings(new MyViewModel());
</script>
<table class="table table-bordered">
<thead>
<tr>
<td>Layer</td>
<td>P2P</td>
<td>P2T</td>
<td>T2T</td>
<td>Track Width</td>
<td>PTH To Cu</td>
<td>NPTH To Cu</td>
<td>PTH AR</td>
<td>Via AR</td>
</tr>
</thead>
<tbody data-bind="template:{name:'layer-template', foreach:layer}">
</tbody>
</table>
<script type="text/html" id="layer-template">
<tr>
<td data-bind="text: name"></td>
<td data-bind="text: layer_data[0]"></td>
<td data-bind="text: layer_data[1]"></td>
<td data-bind="text: layer_data[2]"></td>
<td data-bind="text: layer_data[3]"></td>
<td data-bind="text: layer_data[4]"></td>
<td data-bind="text: layer_data[5]"></td>
<td data-bind="text: layer_data[6]"></td>
<td data-bind="text: layer_data[7]"></td>
</tr>
</script>
我希望我的输出如下:
【问题讨论】:
-
$arr[0]。就是这样 -
$array=[[1,2,3], [4,5,6], [7,8,9]];然后 $array[0];
-
到目前为止你尝试过什么?向我们展示您的代码以帮助您改进它。
-
$arr[0] 是数组。你试图回应它。你不能回显数组。像这样尝试 $layer_data = implode(',',$arr[0]); @DeveshN。
-
$array[0] 主数组的第一个键
标签: php arrays knockout.js