我无法从表单中获得选项值,以将其传递给我的操作代码。
表格:
<select required name ="class" class="form-control">
<option value="NULL">-select class-</option>
<?php
$link2 = query("select * from td_class");
while ($list = mysql_fetch_array($link2)) {
?>
<option value="<?php echo $list['class'] ?>"><?php echo $list['class']; ?></option>
<?php } ?>
<option value="Alumni">Alumni</option>
</select>我想使用它来检查我的类表中的类容量,如果这个类处于满负荷状态,它将抛出一个错误,否则将成功地添加学生数据。但是,我的操作代码似乎无法获得给定的类输入,当我提交按钮来添加学生数据时,它总是会抛出一个错误,说明类已经满了,尽管它还没有满。以下是我的行动守则,我迄今所做的:
if ($hal == 'managestudent') {
$name = $_POST['name'];
$image = $_FILES['image'];
$class = $_POST['class'];
$id = $_GET['id'];
if ($aksi == 'addstudent') {
$student = query("select name, count(name) from td_student where class='$class' ");
$student2 = mysql_fetch_array($student);
$capacity = query("select capacity from td_class where class='$class'");
$cap = mysql_fetch_array($capacity);
if (($student2) >= ($cap )) {
echo"<script> alert ('the class is full'); "
. "history.back();" . "</script>";
} else {
if (empty($image['tmp_name'])) {
echo "Without image<br>";
$sql = query("insert into td_student (name,class) values ('$name','$class)");
} else {
echo "With image<br>";
$namafile = uploadBerkas($image);
$sql = query("insert into td_student (name,class,image) values ('$name','$class,'$namafile')");
}
if ($sql == TRUE) {
echo "SQL True<br>";
echo"<script> alert('student data is added'); "
. "window.location='datasiswa.php';"
. "</script>";
} else {
echo "Sql Error " . mysql_error() . " ";
echo"<script> alert ('Error'); "
. "history.back();" . "</script>";
}
}
}
}谢谢你的帮助。
发布于 2016-11-24 18:49:38
您的问题是mysql_fetch_array()返回一个数组.,而不是字符串/值。
所以当你这么做
if (($student2) >= ($cap ))它总是返回false (类如果满),因为它比较两个数组,即。
if((array(name, count(name)) >= (array(capacity)))而不是两个价值,即。
if((count(name)) >= (capacity))您需要做的是使用列名来获得要计算的实际值,即。$student2["count(name)"]/$cap["capacity"]
$student = query("select name, count(name) from td_student where class='$class' ");
$student2 = mysql_fetch_array($student);
$capacity = query("select capacity from td_class where class='$class'");
$cap = mysql_fetch_array($capacity);
if (($student2["count(name)"]) >= ($cap["capacity"])) {https://stackoverflow.com/questions/40792661
复制相似问题