我有这段代码,但是当我运行它时,它给了我错误(注意:未定义的偏移量:C:''wamp''www''test3.php中的1 $str[$row['term_no']] += ",".$row['code'];
如何解决这个问题?
<?php
$con = mysqli_connect('localhost', 'root', '');
mysqli_select_db($con, "uoh");
$q = " SELECT * FROM `degree_plan` LEFT JOIN courses ON
degree_plan.course_number=courses.course_number
where major='COE'";
$result = mysqli_query($con, $q);
if ($result) {
$str = [];
while ($row = mysqli_fetch_array($result)) {
{
$str[$row['term_no']] += "," . $row['code'];
}
foreach ($str as $key => $value) {
echo $value;
echo $key;
}
}
}
?>
在你的代码中,你把所有代码放在一个从未定义的元素中。
更改此内容:
$str[$row['term_no']] += ",".$row['code'];
对此:
$str[$row['term_no']] = $row['code'];
发生错误是因为数组元素不存在,所以,首先检查元素:如果存在,则添加,如果不存在,则创建:
while($row = mysqli_fetch_array($result))
{
if ( isset( $str[$row['term_no']] ) ) // IF ELEMENT EXISTS...
$str[$row['term_no']] .= ",".$row['code']; // ADD TO ELEMENT.
else $str[$row['term_no']] = $row['code']; // CREATE ELEMENT.
}