gpt4 book ai didi

php - 从数据库中的特定表返回多行

转载 作者:行者123 更新时间:2023-11-29 05:43:25 25 4
gpt4 key购买 nike

我目前正在开发一个私有(private)消息系统。现在我正在对收件箱进行编码,并在我的消息表中放置了 2 行临时数据以测试收件箱是否正常工作。

我正在尝试返回此查询为真的所有行:

<?php
class Messages_model extends CI_Model {


public function inbox()
{
$user_id = $this->session->userdata('user_id');
$username = $this->session->userdata('username');

return $this->db->query("SELECT * FROM messages WHERE to_id = $user_id AND to_user = '$username'"); //to_id = id of currently logged in and to_user = username
}
}

这是我的 Controller 。我目前只返回一行,即使应该返回两行。我在数据库中创建了两行,其中 to_id 和 to_user 等于我的 session 数据。所以他们应该都被归还,而不仅仅是一个。当我使用 row_array 时,第一行被返回,如 CI 用户指南中所述。当我使用 result_array() 时,仍然只返回一行。

我想要做的是在 html 中创建一个表,其中包含几列和 1 行作为每列的标题,例如主题、状态、日期。然后下面的行将是消息的实际主题数据和状态。然后我想运行一个 while 或 foreach 循环,每次从收件箱的消息表返回一行时都会回显该空行。

这是我的 Controller :

<?php
class Messages extends Public_Controller {
public function __construct() {
parent::__construct();

$this->load->model('messages_model');

}

public function inbox()
{


$query = $this->messages_model->inbox(); // return from model which is basically a row from messages table
if ($query->num_rows() != 0) // if rows returned is equal to 1

{
foreach ($query->result_array() as $row) // give array variable the value row_array

// grab specific elements from row and assign to variables
$row['id'];
$row['to_id'];
$row['to_user'];
$row['from_id'];
$row['from_user'];
$row['time_sent'];
$row['subject'];
$row['message'];
$row['opened'];
$row['replied'];

$this->load->view('messages/inbox', $row);
}

else
{
echo "You have 0 messages in your inbox";
}
}
}

我希望我能清楚地解释我要做什么。提前致谢。

最佳答案

您的 for 循环中似乎缺少大括号:

 foreach ($query->result_array() as $row) // give array variable the value row_array
{
// grab specific elements from row and assign to variables
$row['id'];
$row['to_id'];
$row['to_user'];
$row['from_id'];
$row['from_user'];
$row['time_sent'];
$row['subject'];
$row['message'];
$row['opened'];
$row['replied'];
}

for 循环仅适用于第一行,除非您用大括号将主体括起来。

关于php - 从数据库中的特定表返回多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4696573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com