表结构是什么,什么字段连接 select * from news_articles a left join news_articles_text b on a.article_id = b.article_id left join news_authors c on a.article_id = c.article_id where c.authors_id = 1
我刚弄了一下那个方法好像很麻烦才能弄出来.所以用之前的代码改了一下 $news_list_by_author_sql= 'select n.article_id,n.news_last_modified, n.authors_id, nt.news_article_name, nt.news_article_text from ' . TABLE_NEWS_ARTICLES . ' n left join ' . TABLE_NEWS_ARTICLES_TEXT . ' nt on (n.article_id = nt.article_id and nt.language_id = \'' . (int)$_SESSION['languages_id'] . '\') and n.news_status = \'1\' and n.authors_id = \'1\'后加的 ' . ' order by n.article_id DESC limit 4';
select * from news_articles a left join
news_articles_text b on a.article_id = b.article_id
left join news_authors c on a.article_id = c.article_id
where c.authors_id = 1
'select n.article_id,n.news_last_modified, n.authors_id, nt.news_article_name, nt.news_article_text from ' . TABLE_NEWS_ARTICLES . '
n left join ' . TABLE_NEWS_ARTICLES_TEXT . '
nt on
(n.article_id = nt.article_id and nt.language_id = \'' . (int)$_SESSION['languages_id'] . '\')
and n.news_status = \'1\'
and n.authors_id = \'1\'后加的
' . ' order by n.article_id DESC limit 4';
$news = $db->Execute($news_list_by_author_sql);但是输出的结果就显示不正常,不知道是不是我的语法错误?麻烦帮忙看下吧默认输出4条新闻,包括标题,日期,内容
n.authors_id = 1下有1条新闻,n.authors_id = 2下有6条新闻
------------------------------------------------------------------------------
执行上面的代码显示出来的不正常
这是n.authors_id = 1时的样式,正常他下面只有1条新闻应该其他的3个位置就什么都不显示了这是n.authors_id = 2时的样式,和id=1正好相反了------------------------------------------------------------------------------
两个表的结构如下
第一个news_articles
-- phpMyAdmin SQL DumpSET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;-- 数据库: `pure`-- 表的结构 `news_articles`CREATE TABLE IF NOT EXISTS `news_articles` (
`article_id` int(11) NOT NULL AUTO_INCREMENT,
`authors_id` int(11) NOT NULL DEFAULT '0',
`news_image` varchar(64) DEFAULT NULL,
`news_image_two` varchar(64) DEFAULT NULL,
`news_date_added` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`news_last_modified` datetime DEFAULT NULL,
`news_date_published` datetime DEFAULT NULL,
`news_status` tinyint(1) NOT NULL DEFAULT '0',
`sort_order` tinyint(6) NOT NULL DEFAULT '0',
PRIMARY KEY (`article_id`),
KEY `news_date_published` (`news_date_published`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;--
-- 转存表中的数据 `news_articles`
--
第二个news_articles_text
-- phpMyAdmin SQL DumpSET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;-- 数据库: `pure`-- ---------------------------------------------------------- 表的结构 `news_articles_text`CREATE TABLE IF NOT EXISTS `news_articles_text` (
`article_id` int(11) NOT NULL AUTO_INCREMENT,
`language_id` int(11) NOT NULL DEFAULT '1',
`news_article_name` varchar(64) NOT NULL DEFAULT '',
`news_article_text` text,
`news_article_shorttext` text,
`news_article_url` varchar(255) DEFAULT NULL,
`news_article_url_text` varchar(64) DEFAULT NULL,
`news_article_url_2` varchar(255) DEFAULT NULL,
`news_article_url_2_text` varchar(64) DEFAULT NULL,
`news_article_url_3` varchar(255) DEFAULT NULL,
`news_article_url_3_text` varchar(64) DEFAULT NULL,
`news_article_url_4` varchar(255) DEFAULT NULL,
`news_article_url_4_text` varchar(64) DEFAULT NULL,
`news_article_url_store` int(11) DEFAULT NULL,
`news_article_url_store_2` int(11) DEFAULT NULL,
`news_article_url_store_misc` varchar(255) DEFAULT NULL,
`news_article_url_store_misc_text` varchar(64) DEFAULT NULL,
`news_article_url_store_misc_2` varchar(255) DEFAULT NULL,
`news_article_url_store_misc_2_text` varchar(64) DEFAULT NULL,
`news_image_text` text,
`news_image_text_two` text,
PRIMARY KEY (`article_id`,`language_id`),
KEY `news_article_name` (`news_article_name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;-- 转存表中的数据 `news_articles_text`麻烦帮忙看一下。十分感谢
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。