Veritabanındaki belirli bir tabloda birden fazla satır döndürür

0 Cevap php

Ben şu anda bir özel mesajlaşma sistemi üzerinde çalışıyorum. Şu anda gelen kutusunu kodlama yaşıyorum ve gelen doğru çalıştığından test etmek için benim mesaj tablosunda geçici verilere 2 satır koyduk.

Ben bu sorgu doğru tüm satırları geri dönmek için çalışıyorum:

<?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
    }
}

İşte benim denetleyicisi bulunuyor. Ben şu anda sadece bir satır iki satır iade edilmelidir halde iade yaşıyorum. Ben to_id ve benim oturum verilerine eşit to_user ile db hem de satır oluşturduk. Yani ikisi de değil, sadece bir iade edilmelidir. Ben ilk satırda row_array kullandığınızda CI kullanım kılavuzunda açıklandığı şekilde döndürülür. Ben result_array kullandığınızda () hala tek bir satır döndürdü.

Ne yapmak istediğiniz her sütun eg başlığı için birkaç sütun ve 1 satır ile html bir tablo oluşturun konu, durum, tarih. Sonra satır altında mesajın gerçek konusu veri ve durum olacaktır. Sonra o boş satır bir satır gelen kutusu için mesajlar tablosundan döndürülen her zaman yankılanacak bir süre ya da foreach döngü çalıştırmak istiyorum.

İşte benim denetleyicisi:

<?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";
        }
    }
}

I hope I was clear with explain what I'm trying to do. Thanks in advance.

0 Cevap