你好,目前我正在使用这行代码:
if( $get_display->level== "Nursery"){
$lbl="Kinder";
}
else if( $get_display->level== "Kinder"){
$lbl="Preparatory";
}
else if( $get_display->level== "Preparatory"){
$lbl="Grade 1";
}
else if( $get_display->level== "Grade 1"){
$lbl="Grade 2";
}
******THE else if goes on but still the same*****
所以我打算根据学生成绩自动选择一个部分,我打算将此代码放在上面的每个if语句中。像这样:
else if( $get_display->level== "Grade 1"){
$lbl="Grade 2";
if($get_display->gpa => "88"){
$result = mysql_query("SELECT * FROM tbl_section where level='$lbl'
and section_name="A"");
$row = mysql_fetch_array($result);
$sname = $row['section_name'];
}else if($get_display->gpa => "80"){
$result = mysql_query("SELECT * FROM tbl_section where level='$lbl'
and section_name="B"");
$row = mysql_fetch_array($result);
$sname = $row['section_name'];
}else if($get_display->gpa => "75"){
$result = mysql_query("SELECT * FROM tbl_section where level='$lbl'
and section_name="C"");
$row = mysql_fetch_array($result);
$sname = $row['section_name'];
}
}
此处将使用 $ sname :
<input type="text" name="levele" value="<?php echo $sname;?>">
我现在的主要问题是如果部分已满,它会自动插入部分b 对吗?我应该怎么做呢?我应该在 tbl_section 中添加一个字段来计算所在的学生?如果我会篡改我的数据库它应该怎么样?会感激任何帮助。 (请不要提到我的数据库非常妥协,已经知道只是一个简单的项目,但我稍后会实现mysql_real_escape_string(),还没有关于mysqli的知识。)
编辑: a和b 部分只是我的数据库中的字段名称,这是 tbl_section 的样子。
section_id (int)
section_name(vchar)(default names are A,B,C and cannot be changed)
sy (school year)
adviser_id
level
抱歉第一次在这里展示我的数据库希望这是正确的。
答案 0 :(得分:1)
我只会SELECT
section_name
未满:
SELECT section_name, COUNT(*)
FROM tbl_section
WHERE level='$lbl'
GROUP BY section_name
HAVING COUNT(*) < 80
LIMIT 1
您还需要停止使用mysql_
函数,因为它们being deprecated并且易受SQL注入攻击。
另外,我会重写上面的代码片段来压缩代码,如下所示:
elseif( $get_display->level== "Grade 1" ) {
$lbl="Grade 2";
if( $get_display->gpa => "88" ) {
$section_name = 'A';
}
elseif( $get_display->gpa => "80" ) {
$section_name = 'B';
}
elseif( $get_display->gpa => "75" ) {
$section_name = 'C';
}
$result = mysql_query("SELECT * FROM tbl_section where level='$lbl' and section_name='$section_name' LIMIT 1");
$row = mysql_fetch_array($result);
$sname = $row['section_name'];
}