Py学习  »  DATABASE

条件不适用于PHP和mysqli

Yerkin • 3 年前 • 1249 次点击  

我的数据库中有两个表:学生和教师。我试着给每位老师分配4名学生,他们正在写关于老师主题的论文。为此,我创建了第三个表:赋值。我提出了两个条件:如果学生被分配(他或她分配的表值为1),那么代码应该跳过该学生,如果老师有超过3个分配的学生(他或她分配的表值小于4),那么代码应该跳过该老师。这是我尝试过的代码:

<?php

    require('config_teachers.php');
    require('config_students.php');

    // We get all the info as associative arrays: $students_info and $teachers_info.

    $serverName = "localhost";
    $user = "root";
    $password = "";
    $dbName = "yerkindb";
    
    foreach($students_info as $student_info){
        foreach($teachers_info as $teacher_info){
            if($student_info['assigned'] == 0 && $student_info['ee_subject'] == $teacher_info['ee_subject_1_choice'] && $teacher_info['assigned'] < 4 ){

                $conn = mysqli_connect($serverName, $user, $password, $dbName);

                if(mysqli_connect_errno()){
                        
                    echo "Failed to connect to mysqli.".mysqli_connect_errno();
                        
                } else {
                        
                    $name_student = $student_info['name'];
                    $name_teacher = $teacher_info['name'];
                    $subject = $student_info['ee_subject'];

                    $query = "INSERT INTO assignment(student_name, advisor_name, subject) values('$name_student', '$name_teacher', '$subject')";
                            
                    mysqli_query($conn, $query);

                    $assigned_teacher = $teacher_info['assigned'];

                    $assigned_teacher = $assigned_teacher + 1;

                    $query = "UPDATE teachers SET assigned = $assigned_teacher WHERE name = '$name_teacher'";

                    mysqli_query($conn, $query);

                    $query = "UPDATE students SET assigned = 1 WHERE name = '$name_student'";

                    mysqli_query($conn, $query);

                    mysqli_close($conn);
                }
            }
        }
    }

?>

排队

if($student_info['assigned'] == 0 && $student_info['ee_subject'] == $teacher_info['ee_subject_1_choice'] && $teacher_info['assigned'] < 4 ){

有我想要指定的条件,但是,当我运行代码时,我会让每个学生被指定给每一位老师,他们的主题与他或她正在写文章的主题相同。

有人能解释为什么这些条件会被忽略,即使

$student_info['ee_subject'] == $teacher_info['ee_subject_1_choice']

这种情况并没有被忽视。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/133846
 
1249 次点击  
文章 [ 1 ]  |  最新文章 3 年前