无法获取mysql数据(CodeIgniter选择)

时间:2014-05-08 02:33:25

标签: php mysql codeigniter

我无法通过选择将mysql数据加载到视图中,请帮我查找错误。谢谢。

查看

<div class="grid">
<div class="row">
    <?php $this->load->view('admin/admin_topmenu.php'); ?>
</div>
<div class="row">
    <div class="span10 box" style="padding: 10px;">


        <p>Recent Messages</p>
        <table class="table hovered">
            <thead>
            <tr class="selected">
                <th class="text-left">Name</th>
                <th class="text-left">Email</th>
                <th class="text-left">Phone</th>
                <th class="text-left">Message</th>
            </tr>
            </thead>
            <tbody>
            <?php echo form_open('admin_forms/inbox')  ?><!-- start of the form -->
            <?php if(isset($records)) : foreach($records as $row) : ?>
            <tr>
                <td class="right"><?php echo $row->contactus_name; ?></td>
                <td class="right"><?php echo $row->contactus_email; ?></td>
                <td class="right"><?php echo $row->contactus_phone; ?></td>
                <td class="right tertiary-text-secondary text-justify"><?php echo $row->contactus_comment; ?></td>

            </tr>
            <?php endforeach; ?>
            <?php endif; ?>
            <?php echo form_close(); ?><!-- END of the form -->
            </tbody>
            <tfoot></tfoot>
        </table>
    </div>

    <div class="span3">
        <nav class="sidebar light">
            <ul>
                <li>
                    <a href="#">
                        <i class="icon-home"></i>
                        Inbox <strong>(5)</strong>
                    </a>
                </li>
                <li>
                    <a href="#">
                        <i class="icon-home"></i>
                        Send
                    </a>
                </li>
                <li>
                    <a href="#">
                        <i class="icon-home"></i>
                        Newsletter/Ad
                    </a>
                </li>
            </ul>
        </nav>
    </div>
</div>

控制器

 <?php class Admin extends CI_Controller {
function index()
{

}
function inbox()
{
    $data = array();
    if($query = $this->mod_contactus->get_records())
    {
        $data['records'] = $query;
    }
    $this->load->view('admin/admin_messages',$data);
}

}

模型

<?php 
class Mod_contactus extends CI_Model
{

    function get_records()
    {
        $query = $this->db->get('tbl_contactus');
        return $query->result();
    }


    function add_record($data)
    {
        $this->db->insert('tbl_contactus', $data);
        return;
    }


    function update_record()
    {
    }

}

当我转到页面的源代码时,单击表单发布方法,它会给我404 Page Not Found错误。

2 个答案:

答案 0 :(得分:0)

我假设您能够访问该页面,并且您在表单提交时收到错误。除非您在application/config/routes.php文件中设置了特殊路线,否则我相信您可以在视图中更改此行

<?php echo form_open('admin_forms/inbox')  ?><!-- start of the form -->

<?php echo form_open('admin/inbox')  ?><!-- start of the form -->

会做到这一点。

我之所以这样说是因为您的控制器名称为Admin,并且为了调用它(默认情况下),您必须在网址中使用admin而不是admin_forms

答案 1 :(得分:0)

您需要获取结果

所以这一行:

实际上,您的变量$records是资源,而不是结果集。

<?php if(isset($records)) : foreach($records as $row) : ?>

因此,请使用此资源,然后获取记录。

应该成为:

<击> <?php if(isset($records)) : foreach($records->result as $row) : ?>

<?php if(isset($records)) : foreach($records->result() as $row) : ?>