Jquery Code就是这个..
$.each(data, function(index, elem) {
if (elem.stdid != stdid) {
var cols = new Array(days);
$.each(data, function(ind, el) {
if (el.stdid == elem.stdid) {
cols[el.day] = el.status.substring(0, 1);
console.log(cols[el.day]);
}
});
var row = "<tr><td class='txtcenter level4row'>"+ (counter++) +"</td><td class='txtcenter level4row'>"+ elem.student_name +"</td>";
for ( i = 1; i<=cols.length; i++) {
console.log(typeof(cols[i]));
if (i%2 == 0) {
row += "<td class='txtcenter' style='background: #e6f3fd;'>"+ ((typeof(cols[i]) == "undefined") ? '-' : cols[i]) +"</td>";
} else {
row += "<td class='txtcenter' style='background: #fff;'>"+ ((typeof(cols[i]) == "undefined") ? '-' : cols[i]) +"</td>";
}
}
row += "</tr>";
$(row).appendTo('#atnd-table tbody');
stdid = elem.stdid;
}
});
我转换的代码是这样的:
<?php foreach ($vrdetail as $row):?>
<?php if ($row['stdid'] !== $stdid): ?>
<?php $cols = array($days); ?>
<?php foreach ($vrdetail as $rowTwo):?>
<?php if ($rowTwo['stdid'] === $row['stdid']): ?>
<?php $cols[$rowTwo['day']] = substr($rowTwo['status'],0,1); echo $cols[$rowTwo['day']];?>
<?php endif; ?>
<?php endforeach; ?>
<?php $tr = "<tr>".
"<td colspan='3' style=''>". $counter++."</td><td>" . $row['student_name'] ."</td>"; ?>
<?php $length = count($cols);
for ($i=1; $i <= $length; $i++) {
if ($i%2 === 0 ) {
$tr += "<td>". ((gettype($cols[$i]) == 'NULL') ? '-' : $cols[$i]) ."</td>";
}else{
$tr += "<td >".((gettype($cols[$i]) == 'NULL') ? '-'
: $cols[$i]) ."</td>";
}
}
$tr += "</tr>";
$stdid = $row['stdid'];
?>
<?php endif; ?>
<?php endforeach ?>
这个Php代码在这些方面给我一个错误:
$tr += "<td>". ((gettype($cols[$i]) == 'NULL') ? '-' : $cols[$i])."</td>";
$tr += "<td >".((gettype($cols[$i]) == 'NULL') ? '-' : $cols[$i]) ."</td>";
说
遇到了PHP错误 严重性:通知消息:未定义的偏移量:1文件名: reportPrints / monthlyAttendanceReport_pdf.php行号:151 严重性:通知消息:未定义的偏移量:2
和第二行相同,但偏移仅为更改。
答案 0 :(得分:0)
尝试使用
$tr .= "<td >".((gettype($cols[$i]) == 'NULL') ? '-' : $cols[$i]) ."</td>";
而不是
$tr += "<td >".((gettype($cols[$i]) == 'NULL') ? '-' : $cols[$i]) ."</td>";
答案 1 :(得分:0)
在第3行,你有:
<?php $cols = array($days); ?>
我假设$days
是一个数组本身。上面的语句将创建一个数组$cols
,它在索引0处只有一个元素(即一个数组)。
在导致错误的行中,您尝试访问索引1和2处不存在的$cols
数组元素。