首页 > 解决方案 > 我需要使用另一个页面上的数据

问题描述

我想使用同一控制器中的函数加载另一个视图。我是 codeIgniter 的新手,所以请放轻松:D

默认加载主页 -> 从主页填写字段 -> 提交 -> 使用 ajax 从数据库中抓取数据 -> 通过在默认相同的控制器中加载新视图来使用另一个页面上的数据。

控制器:

<?php

class logInCon extends CI_Controller
{

    public function login()
    {

        //$data['creds'] = $this->accsModel->getUser();
        $this->load->view("Login");

    }


    public function validate_LogIn()
    {
        $uname = $this->input->post('uname');
        $pass = $this->input->post('pass');
        $this->load->model("accsModel");
        $data = $this->accsModel->logInCheck($uname, $pass);
        $check = $data['verified'];

        if ($check <= 0)
        {
            echo "Not a valid member";
        }else
            {
                $data['logged'] = $this->accsModel->getUser($uname, $pass);
                $this->load->view('comms.php');//want this to load
            }
    }


}


?>

模型

<?php

    /**

     */
    class accsModel extends CI_Model
    {

        public function getBps()
        {
            $query = $this->db->get('bps');
            return $query->result();
        }

        public function getUser($uname, $psswrd)
        {
            $getCreds = $this->db->query("SELECT `bps`.*, `users`.bps_id 
                                            FROM `bps` 
                                            LEFT JOIN `users` 
                                            ON `bps`.id = `users`.bps_id 
                                            AND `users`.`uname` = '$uname' 
                                            AND `users`.`pwd` ='$psswrd'
                                            WHERE `users`.bps_id != ''
                                           OR `users`.bps_id IS NOT NULL");
            return $getCreds->result();
        }

        public function logInCheck($uname, $psswrd)
        {
            $this->db->select('COUNT(*) AS verified');
            $this->db->where('uname', $uname);
            $this->db->where('pwd', $psswrd);
            $this->db->limit(1);
            return $this->db->get('users')->row_array();
        }

    }

?>

看法

    <body>


    <div class="container">

        <div class="row">

            <div class="LogForm">
                <div class="col-md-12">
                    <input type="text" id="bpCode" name="bpCode">
                </div>
                <div class="col-md-12">
                    <input type="password" id="pass" name="pass">
                </div>
                <div class="btn">
                <span id="emptyF" hidden style="color:red;"></span>
                <button id="submit" class="btn btn-info btn-lg btn-block">Login</button>
                <span id="result"></span>
                </div>

            </div>

        </div>

    </div>


    <script type="text/javascript">

        $(document).ready(function() 
        {
            $("#submit").click(function()
            {
                var uname = $('#bpCode').val();
                var pass = $('#pass').val();

                if(uname == "" || pass =="")
                {
                    $("#emptyF").attr("hidden", false).html("Please fill in the form");
                }else{
                    $("#emptyF").attr("hidden", true);

                    $.ajax({//start of ajax function

                      type: "POST",
                      url: "<?php echo base_url('logInCon/validate_LogIn'); ?>",
                      data: 
                            {
                                uname : uname,
                                pass : pass
                            }

                    //end of ajax function
                    });

                }



            });
        });

    </script>
    </body>

查看通讯希望加载它并使用 getUser() 函数中的数据

    <body>
        <p><?php print_r($logged) ?></p>
        <h1>Commissions View</h1>
        <table style="width:100%">

            <?php

                foreach ($logged as $lgdIn) {
            ?>

            <tr>
                <th>ID</th>
                <th>bpID</th>
                <th>pc</th>
                <th>up</th>
                <th>tmLdr</th>
                <th>fName</th>
                <th>mName</th>
                <th>lName</th>
                <th>contactNo</th>
                <th>Status-Id</th>
                <th>bpclass_id</th>
            </tr>

            <tr>
                <td><?php echo $lgdIn->id; ?></td>
                <td><?php echo $lgdIn->bpID; ?></td>
                <td><?php echo $lgdIn->pc; ?></td>
                <td><?php echo $lgdIn->up; ?></td>
                <td><?php echo $lgdIn->tmLdr; ?></td>
                <td><?php echo $lgdIn->fName; ?></td>
                <td><?php echo $lgdIn->mName; ?></td>
                <td><?php echo $lgdIn->lName; ?></td>
                <td><?php echo $lgdIn->contactNo; ?></td>
                <td><?php echo $lgdIn->status_id; ?></td>
                <td><?php echo $lgdIn->bpclass_id; ?></td>
            </tr>

            <?php


                }

            ?>

        </table>

    </body>

标签: phpcodeigniter

解决方案


您需要像下面的代码一样在加载视图中传递 $data

public function validate_LogIn()
    {
        $uname = $this->input->post('uname');
        $pass = $this->input->post('pass');
        $this->load->model("accsModel");
        $data = $this->accsModel->logInCheck($uname, $pass);
        $check = $data['verified'];

        if ($check <= 0)
        {
            echo "Not a valid member";
        }else{
            $data['logged'] = $this->accsModel->getUser($uname, $pass);
            $this->load->view('comms',$data);//want this to load
        }
    }

观点也变化不大

<body>
        <p><?php print_r($logged) ?></p>
        <h1>Commissions View</h1>
        <table style="width:100%">

            <tr>
                <th>ID</th>
                <th>bpID</th>
                <th>pc</th>
                <th>up</th>
                <th>tmLdr</th>
                <th>fName</th>
                <th>mName</th>
                <th>lName</th>
                <th>contactNo</th>
                <th>Status-Id</th>
                <th>bpclass_id</th>
            </tr>

            <?php if(!empty($logged)) { foreach ($logged as $lgdIn) {  ?>

            <tr>
                <td><?php echo $lgdIn->id; ?></td>
                <td><?php echo $lgdIn->bpID; ?></td>
                <td><?php echo $lgdIn->pc; ?></td>
                <td><?php echo $lgdIn->up; ?></td>
                <td><?php echo $lgdIn->tmLdr; ?></td>
                <td><?php echo $lgdIn->fName; ?></td>
                <td><?php echo $lgdIn->mName; ?></td>
                <td><?php echo $lgdIn->lName; ?></td>
                <td><?php echo $lgdIn->contactNo; ?></td>
                <td><?php echo $lgdIn->status_id; ?></td>
                <td><?php echo $lgdIn->bpclass_id; ?></td>
            </tr>

            <?php } } else { ?>
            <tr colspan="11"><td>No record found.</td></tr>
            <?php } ?>
        </table>

    </body>

推荐阅读