PHP MVC使用href发送对象变量

时间:2017-05-11 21:58:44

标签: php model-view-controller pdo

仅使用PHP和PDO建立学校管理系统 - 大学项目。

现在我正在使用MVC,而且我无法将信息从一个视图发送到另一个视图。

这是我想要的信息来自

<?php
    include_once 'model/student.php';
    include_once 'model/courses.php';

        $selected = new Student();
        $students = Student::getAllStudents();
        $selected2 = new Course();
        $courses = Course::getAllCourses();

?>
<div>
    <div class="col-lg-6">
        <span style="font-size: 24px;"> <u>Students</u> - <button style="color:black;width: 30px;height: 35px;"><a href="?controller=pages&action=logout">+</a></button></span>
        <br>
        <hr>
        <?php /* this is where I have the problem, the href attribute - I'm not sure I am sending the information correctly */
            foreach($students as $stu){
                ?> <div> Student Name: <a href='? controller=student&action=showstudent&student_id=<?php echo $stu->id ?>'> <?php echo $stu->name ?> </a></div><br> 

                <div> Student Phone: <?php echo $stu->phone ?> </div><br> <hr> <?php
            }
        ?>

    </div>
    <div class="col-lg-6">
        <span style="font-size: 24px;"> <u>Courses</u> - <button style="color:black;width: 30px;height: 35px;"><a href="?controller=pages&action=logout">+</a></button></span>
        <br>
        <hr>
        <?php 
            foreach($courses as $cur){
                echo "<span><a href='#' ><b><u><i>" .$cur->name . "</i></u></b></a></span></br><hr>";

            }
        ?>
    </div>
</div>

这些是控制器和模型

<?php

class StudentController {
    public $student_model;

    public function __construct() {
        $this->student_model= new Student();
    }

    public function showstudent($id) {
        $find = $this->student_model->findStudentById($id);
        if($find==TRUE){
            require_once 'views/pages/container/student_into_container.php';
        }
        else{
            echo "error";
        }
    }
}

模型

<?php

require_once 'connection.php';
class Student{

    public $name;
    public $phone;
    public $email;
    public $img;
    public $id;

    public function __construct() {
    }

    public static function getAllStudents(){
        $students = [];
        $db = Db::getInstance();
        $req = $db->query('SELECT id, name, phone, email, image FROM students');
        $students_info = $req->fetchAll();
        foreach ($students_info as $student_info){
              $stu = new Student;
              $stu->id = $student_info['id'];
              $stu->name = $student_info['name'];
              $stu->phone = $student_info['phone'];
              $stu->email = $student_info['email'];
              $stu->img = $student_info['image'];
              array_push($students, $stu);
          }
          return $students;
    }

    public function findStudentById($id){

        $db = Db::getInstance();
        $req = $db->prepare('SELECT * FROM student WHERE id = :id');
        $req->execute(array('id' => $id));
        $student = $req->fetch();

        return $student;
    }
}

这是我希望从我找到的学生那里获得$ id的观点 并显示他所有的值字段 - 这是StudentController页面中的student_into_container.php

<?php 

       require_once 'connection.php'
?>
<div style="" class="">  
    <div class="col-lg-4 ">
    <?php 
        require_once 'views/pages/container/student_courses_aside.php';

    ?>
    </div>
    <div style="color: black;" class="col-lg-8 blackboard ">
        <div class="blackboard-container" style="margin-top:10px;font-size:36px;">
           <?php foreach($students as $stu){
                echo "<span> Student Name: <a href='#'>". $stu->name . "</a></span></br>";
                echo "<span> Student Phone: " . $stu->phone . "</span></br> <hr>";
            }
            ?>
        </div>
    </div>
</div>

完全迷失在这里,任何帮助都会有所帮助。 简而言之? 一次显示从另一个具有href属性的视图发送的信息

0 个答案:

没有答案