作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个 php 脚本,通过首先创建一个 while 循环来查询数据库中用户注册的学期。然后我尝试创建一个 for 循环以确定它们注册的类的名称和级别。
//USER ID
$id=1;
//SEMESTER QUERY
$qry="SELECT * FROM semesters where mem_id='$id'";
$result=mysqli_query($con, $qry);
//GRAB VALUES FROM CURRENT SEMESTER
while ($row=mysqli_fetch_array($result)){
$semesterID = $row[1];
echo '<div id="s'.$semesterID.'">';
//FOR LOOP TO GRAB ROWS['c1'] TO ['c7']
for ($i = 1; $i <= 7; $i++)
{
$class = $row['c'.$i.''];
//IF CLASS_ID IS VALID CONTINUE SEARCH
if ($class!=0){
$qry="SELECT * FROM allclasses where class_id='$class'";
$result=mysqli_query($con, $qry);
$row=mysqli_fetch_array($result);
$classname = $row[1];
$classlvl = $row[2];
echo ''.$classname.' '.$classlvl.'';
}
}
}
数据库信息
学期表是这样组成的:
| mem_id [0] |semnum [1] | semname [2] | c1 [etc...] | c2 | c3 | c4 | c5 | c6 | c7 |
在这个 php 脚本中,我试图:
row[1]
semesterID
,然后回显它row['c1']
到 row['c7']
列classname
和 classlvl
问题:
该代码实际上适用于第一个 for 循环,但之后它显示 Notice: Undefined Index
for c2
through c7
我已经尝试研究一个解决方案,但我只看到这个通知与一个试图接收 POST
值的脚本...他们建议使用 isset 并检查变量,但我没有确定它如何适用于这种情况。
最佳答案
我认为这条线给你带来了麻烦
$row=mysqli_fetch_array($result);
它在您的子循环中,您覆盖了外循环的 $row
变量,因此它的列在 2 到 7 的运行中不再可用。重命名其中一个。
关于PHP For Loop 收到通知 : Undefined Index,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27854962/
我是一名优秀的程序员,十分优秀!