Mic*_*ayo 0 php mysql undefined
我正在尝试编写一个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.'';
}
}
}
Run Code Online (Sandbox Code Playgroud)
数据库信息
学期表由以下内容组成:
| mem_id [0] |semnum [1] | semname [2] | c1 [etc...] | c2 | c3 | c4 | c5 | c6 | c7 |
Run Code Online (Sandbox Code Playgroud)
在这个PHP脚本中我试图:
row[1] semesterID当前学期,然后回显它row['c1']通过row['c7']的电流学期classname和classlvl问题:
该代码实际工作的第一个for循环但后来它显示Notice: Undefined Index了c2通过c7
我已经尝试过研究解决方案,但我只看到这个通知,脚本试图接收POST值......他们建议使用isset并检查变量,但我不确定它在这种情况下是如何应用的.
我认为这条线会给你带来麻烦
$row=mysqli_fetch_array($result);
Run Code Online (Sandbox Code Playgroud)
它位于你的子环路中,你覆盖$row外部循环的变量,因此它的列在2到7的运行中不再可用.重命名其中一个.