Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter ajax-在JQuery不工作的情况下检索Codeigniter中的行_Php_Jquery_Mysql_Ajax_Codeigniter - Fatal编程技术网

Php Codeigniter ajax-在JQuery不工作的情况下检索Codeigniter中的行

Php Codeigniter ajax-在JQuery不工作的情况下检索Codeigniter中的行,php,jquery,mysql,ajax,codeigniter,Php,Jquery,Mysql,Ajax,Codeigniter,我正在研究如何使用Codeigniter和AJAX从数据库检索行,但它不起作用,我遵循了以下步骤:什么也没有: 下面是我的代码的样子: 表(用户): 控制器(welcome.php): 视图(JQuery)加载后,会有一个表单,其中一个类型为text(名为pass),另一个类型为submit: function sendData(){ var data = $('form').serialize(); $('form').unbind('submit');

我正在研究如何使用Codeigniter和AJAX从数据库检索行,但它不起作用,我遵循了以下步骤:什么也没有: 下面是我的代码的样子:

表(用户):

控制器(welcome.php):

视图(JQuery)加载后,会有一个表单,其中一个类型为text(名为pass),另一个类型为submit:

function sendData(){

        var data = $('form').serialize();
        $('form').unbind('submit'); 

        $.ajax({
            url: '<?php echo base_url()?>index.php/welcome/get_invoices',
            type: 'POST',
            data: data,
            success: function(data, textStatus, xhr) {
                  $('div#message').html(data);
            }
        });  
    }
最后我得到:

A PHP Error was encountered

Severity: Notice

Message: Undefined index: name

Filename: models/login_select.php

Line Number: 41

如何解决这个问题?因为我不仅需要从表中恢复一行,还需要恢复整行。谢谢

在login_select.php中,
$temp
可能与您认为的不一样

$temp['name']
不存在,您正在尝试使用它,因此它会引发未定义的索引错误。请确保
$temp['name']
存在,然后再通过以下方式使用它

return isset($temp['name']) ? $temp['name'] : false;

或者在那里运行
die(var_dump($temp))
看看发生了什么。

我修复了它,但我不知道这是否是一个好的做法:

基本上我创建了另一个视图(这里打印的所有内容都将通过ajax在我的div中更新):

控制器:

function get_invoices()
    {

        $data['login2'] = $this->login_select->get_login($company);
        $this->load->view('ajaxtest', $data);///the trick

    }
视图中的JQuery是相同的

模型(这里没什么奇怪的):

诀窍是在本例中创建另一个视图ajaxtest.php:

<?php


echo sizeof($login2) . " ";

foreach ($login2 as $login2_item):

    echo $login2_item["name"];

endforeach;

?>


如果将来有人需要它。

同样
$this->db->select(“user.*)不是必需的
get_where()
选择所有字段。但我需要表中'name'的值,如何在变量中获取该值?我得到:array(0){}为什么?因为您的sql查询的格式不正确。我对codeigniter还不够熟悉,无法进一步提供帮助。您应该查看有关如何使用CI从db中提取项的教程。
return isset($temp['name']) ? $temp['name'] : false;
function get_invoices()
    {

        $data['login2'] = $this->login_select->get_login($company);
        $this->load->view('ajaxtest', $data);///the trick

    }
public function get_login($myid)
    {


        $query = $this->db->get_where('user', array('id_user'=>$myid));

        return $query->result_array();

    }
<?php


echo sizeof($login2) . " ";

foreach ($login2 as $login2_item):

    echo $login2_item["name"];

endforeach;

?>