从查询中获取特定字段(不工作)未定义变量:fetch_data

Student_new

我正在尝试从查询中获取不同的列。

我在控制器文件中使用这个函数

                public function fetch_data(){
            $result = $this->db->query("select * from table1 oa
inner join table2 kio on oa.id = kio.id_table_1
inner join table3 joi on kio.col3 = joi.col3_id_table_2
where joi.processed = 1
and joi.approved = 1
and not exists (select 1 
                from table3 t3 
                where t3.processed = 0 
                      and t3.approved = 0 
                      and t3.col3_id_table_2 = joi.col3_id_table_2)");
            return $result;
                }

这是 MySQL 语句:

https://www.db-fiddle.com/f/adanvQ9JYtTVvbsqq5SBNh/0

我在这个视图中调用该函数:

<?php include('header.php'); ?>

<html>
<head>

</head>
<body>

    <div class="container"> 
    <div class="row">
    <div class="col-md-12">

        <h2 align="center">TABLE:USERS</h2>

                <thead>
                    <th>id</th>
                    <th>COL2</th>
                    <th>ID_TABLE_1</th>
                    <th>COL2</th>
                    <th>COL3</th>
                    <th>COL3_ID_TABLE2</th>
                    <th>PROCESSED</th>
                    <th>APPROVED</th>
                </thead>


<tbody>

<?php

    if ($fetch_data->num_rows() > 0)
     { 

        foreach($fetch_data->result() as $record) {
        echo "<tr> 
    <td>".$record['id']."</td> 
    <td>".$record['COL2']."</td> 
    <td>".$record['ID_TABLE_1']."</td> 
    <td>".$record['COL2']."</td> 
    <td>".$record['COL3']."</td> 
    <td>".$record['COL3_ID_TABLE2']."</td> 
    <td>".$record['PROCESSED']."</td> 
    <td>".$record['APPROVED']."</td> 

    </tr>"; 

    }
    }


?>

</tbody>


    </table>

        </div>
        </div>
        </div>

</body>
</html>

但是,我收到此错误消息:未定义变量:fetch_data

我究竟做错了什么?

编辑:

我试图在视图中运行此代码:

<?php
$this->fetch_data();
$myVar = fetch_data();
if ( $myVar->num_rows() > 0 ) {
    foreach ( $myVar->result() as $record ) {
        echo "<tr>"
             . "<td>" . $record['id'] . "</td>"
             . "<td>" . $record['COL2'] . "</td>"
             . "<td>" . $record['ID_TABLE_1'] . "</td>"
             . "<td>" . $record['COL2'] . "</td>"
             . "<td>" . $record['COL3'] . "</td>"
             . "<td>" . $record['COL3_ID_TABLE2'] . "</td>"
             . "<td>" . $record['PROCESSED'] . "</td>"
             . "<td>" . $record['APPROVED'] . "</td>"
             . "</tr>";
    }
}

但是现在我收到了这个错误:

类型:错误

消息:调用未定义的方法 CI_Loader::fetch_data()

fetch_data() 函数在 CONTROLLER 内部

看一看:

图像

天鹰座

您需要将fetch_data函数的返回值分配给一个变量,以便您可以访问它。

$myVar = fetch_data();
if ( $myVar->num_rows() > 0 ) {
    foreach ( $myVar->result() as $record ) {
        echo "<tr>"
             . "<td>" . $record['id'] . "</td>"
             . "<td>" . $record['COL2'] . "</td>"
             . "<td>" . $record['ID_TABLE_1'] . "</td>"
             . "<td>" . $record['COL2'] . "</td>"
             . "<td>" . $record['COL3'] . "</td>"
             . "<td>" . $record['COL3_ID_TABLE2'] . "</td>"
             . "<td>" . $record['PROCESSED'] . "</td>"
             . "<td>" . $record['APPROVED'] . "</td>"
             . "</tr>";
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章