gpt4 book ai didi

PHP For Loop 收到通知 : Undefined Index

转载 作者:行者123 更新时间:2023-12-01 00:42:47 25 4
gpt4 key购买 nike

我正在尝试编写一个 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 脚本中,我试图:

  • 获取特定 mem_id 的所有学期
  • 创建一个 while 循环来获取当前学期的 row[1] semesterID,然后回显它
  • 创建一个 for 循环以获取当前学期的 row['c1']row['c7']
  • 检查列值是否不为零并在 allclasses 表中找到该值
  • 最后输出 classnameclasslvl

问题:

该代码实际上适用于第一个 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com