2011-01-11 101 views
1

您好所有我有,當我試圖加入我的評語表就顯示什麼笨加入問題

這裏有一個問題是我的代碼

$this->db->select('*,users.profil_billed as profil_billed, forum_traad.id as traad_id'); 
$this->db->from('forum_traad'); 
$this->db->join('users', 'forum_traad.brugernavn = users.username'); 
$this->db->where('forum_traad.fk_forum_kategori', $id); 
$this->db->join('forum_kommentare', 'forum_traad.id = forum_kommentare.fk_forum_traad'); 
$this->db->where('forum_kommentare.fk_forum_traad', 'forum_traad.id'); 
$this->db->order_by("forum_traad.id", "DESC"); 

它,然後我把這個在它顯示什麼,我不知道爲什麼..我需要一些左連接,右連接等?我有嘗試這一切:d

$this->db->join('forum_kommentare', 'forum_traad.id = forum_kommentare.fk_forum_traad'); 
$this->db->where('forum_kommentare.fk_forum_traad', 'forum_traad.id'); 

kommentare =評論 traad =線程 brugernavn =用戶名 駕駛員學校= categori

丹麥語,

對不起我的英文不好,希望有人能幫助我出


我的數據庫結構是這樣的,使用mysql的即時通訊

CREATE TABLE `forum_kategori` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `kategori` text NOT NULL, 
    `beskrivelse` mediumtext NOT NULL, 
    `godkendt` varchar(4) NOT NULL DEFAULT 'ja', 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=10; 

CREATE TABLE `forum_kommentare` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `fk_forum_traad` int(11) NOT NULL, 
    `brugernavn` text NOT NULL, 
    `indhold` mediumtext NOT NULL, 
    `dato` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    `time` text NOT NULL, 
    `godkendt` varchar(4) NOT NULL DEFAULT 'ja', 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=28; 

CREATE TABLE `forum_traad` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `overskrift` text NOT NULL, 
    `indhold` mediumtext NOT NULL, 
    `fk_forum_kategori` int(11) NOT NULL, 
    `brugernavn` text NOT NULL, 
    `dato` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    `godkendt` varchar(4) NOT NULL DEFAULT 'ja', 
    `time` text NOT NULL, 
    `status` varchar(8) NOT NULL DEFAULT 'aaben', 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4; 

CREATE TABLE `users` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `username` varchar(80) NOT NULL, 
    `password` text NOT NULL, 
    `kon` varchar(5) NOT NULL, 
    `alder` text NOT NULL, 
    `hood` varchar(4) DEFAULT NULL, 
    `fornavn` varchar(60) DEFAULT NULL, 
    `efternavn` varchar(100) DEFAULT NULL, 
    `city` text, 
    `ip` varchar(20) DEFAULT NULL, 
    `level` text, 
    `email` text, 
    `point` int(11) NOT NULL, 
    `oprettet` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    `fritekst` mediumtext NOT NULL, 
    `profil_billed` text NOT NULL, 
    `online` varchar(1) NOT NULL DEFAULT '0', 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=31; 

,並返回任何結果並沒有錯誤,只顯示一條消息,我有一個別的聲明稱做「有這個categori無緒」,我有嘗試用左連接,右連接內連接全加入,所有它:S

+0

你使用MySQL嗎?有沒有錯誤,只是沒有行返回? – 2011-01-12 00:42:08

回答

0

你應該嘗試使用left加入你的聯接和工作。如果這不起作用,那麼表格之間就沒有鏈接。

0

試試這個代碼:

$this->db->select('*,users.profil_billed as profil_billed, forum_traad.id as traad_id'); 
$this->db->from('forum_traad'); 
$this->db->join('users', 'forum_traad.brugernavn = users.username'); 
$this->db->join('forum_kommentare', 'forum_traad.id = forum_kommentare.fk_forum_traad'); 
$this->db->where('forum_traad.fk_forum_kategori', $id); 
$this->db->order_by("forum_traad.id", "DESC"); 
0

可以$this->db->get()

print $this->db->last_query(); 

使用後,檢查出了什麼問題。