我不知道我在做什么,已经超过了代码中这里的内容。在下面的示例中,我试图在每个线缆类型列和行下为每个Lane类型设置多个线缆类型,但正如您所看到的,表中的每个电缆类型都只显示了一种电缆类型。
我正在尝试创建一个with循环或其他什么,这样它将产生与所述车道类型相关联的相同数量的线缆类型,然后转移到下一个车道类型进行相同的操作。对于5号和6号车道,我相信无论如何只有一种电缆类型,所以看起来是正确的。我如何在PHP中创建一个JSON数组来将每种线类型的所有线缆类型组合在一起,而不是仅仅将每种线缆类型分别放入单独的数组中呢?
现在发生的情况是,即使你看到每个车道名称或类型都有多个线缆类型,但它们是分开的,我想把它们组合在一起,所以如果我调用数组,这将是莱恩-1的线缆类型,阵列1会调用所有莱恩-2的电缆类型,等等。到目前为止,阵列调用的只是第一个cable_type,而不是那个lane_name的电缆类型数组。
*编辑(请参阅我的最新评论)*
当前PHP从JSON数组中释放出来
{"Lane-1":["PPAHY4614","PPAHY464","HYBP464.01","PPA241807","ADMC1807"],"Lane-2":["HYBP906.1","PPAHY906","HP464.02","PP8HY461"],"Lane-3":["HYBP421","PAADY412"]}旧形象:

*目前工作*

PHP
//Create array
//Define JSON array
$array = array();
//Run SQL for each array value
$query="(SELECT DISTINCT lane_name,cable_type
FROM bundle_lanes
WHERE lane_name != '' AND lane_name != 'Shipped')
UNION
(SELECT DISTINCT lane_name,gp_cable_type
FROM bundle_lanes
WHERE lane_name != '' AND lane_name != 'Shipped')
ORDER BY lane_name";
$result = $mysqli->query($query) or die($mysqli->error.__LINE__);
while ( $row = $result->fetch_assoc() ) {
$array[$row['lane_name']][] = $row['cable_type'];
}
echo json_encode($array);Javascript
$.ajax({
url: './php/populate_cableTypes.php',
dataType:'json',
success: function (data) {
console.log(JSON.stringify(data));
//since data length is always 1,iterate through the 17 lane types
for (var n=1; n<=17; n++) {
//stringify data so it can be manipulated
var stringifyTypes = JSON.stringify(data["Lane-"+n]);
//check first if data is not null before populating
if (stringifyTypes != null) {
console.log("Lane-" + n + " string cable types: " + stringifyTypes);
//replace characters with new line breaks to format data
var cable_types = stringifyTypes.replace(/,/g, '<br />')
.replace(/\"/g, "")//backslash for quotes and brackets
.replace(/\[/g, "")
.replace(/\]/g, "");
//Show data in newly generated cable type td column for each lane type
$('td.Lane-'+n+'.weight').after("<td>" + cable_types + "</td>");
console.log("Lane-" + n + " formatted cable types: " + cable_types);
}
}
}发布于 2013-10-21 17:00:02
为什么不使用每一个呢?迭代数据的更简洁的方法
$.each(data, function(index, val){
var n = index + 1;
$('.cable_type'+n).text(val['cable_type']);
});https://stackoverflow.com/questions/19500193
复制相似问题