MYSQL/PHP选择区 [英] MYSQL/PHP SELECT DISTINCT
本文介绍了MYSQL/PHP选择区的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在另一页上调用了此函数.
I have this function called on another page.
function adminnav (){
$pagewcoms = mysql_query("SELECT DISTINCT pageid FROM comments") or die(mysql_error());
$idnavrow = mysql_fetch_row($pagewcoms);
while ($itest = mysql_fetch_row($pagewcoms)) {
echo "$itest[0] <br />";
}
}
adminnav('');
表是
CREATE TABLE `comments` (
`commentid` int(5) NOT NULL auto_increment,
`pageid` int(5) NOT NULL default '0',
`name` text NOT NULL,
`email` text NOT NULL,
`comment` text NOT NULL,
`date` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`commentid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=481 ;
INSERT INTO `comments` VALUES(480, 1, '3', '3', '3', '2011-09-13 22:43:06');
INSERT INTO `comments` VALUES(479, 1, '2', '2', '2', '2011-09-13 22:43:01');
INSERT INTO `comments` VALUES(476, 1, '1', '1', '1', '2011-09-13 17:22:49');
INSERT INTO `comments` VALUES(477, 2, 'taylordcraig', 'taylordcraig@gmail.com', 'this is page two', '2011-09-13 17:26:09');
INSERT INTO `comments` VALUES(478, 3, 'this is page3', 'this is page3', 'this is page3', '2011-09-13 22:28:59');
它仅获得两个结果. "2 3" [我之前问过这个,但是措辞很差.]
It's only pulling two results. "2 3" [I asked this before but worded it poorly.]
推荐答案
看起来该查询实际上应按其要求提取3个结果.您只是放任其中之一:
Looks like the query is actually pulling 3 results as it should. You are just letting one of them go:
function adminnav (){
$pagewcoms = mysql_query(...);
// HERE YOU FETCH ONE ROW BUT DO NOTHING WITH IT
$idnavrow = mysql_fetch_row($pagewcoms);
while ($itest = mysql_fetch_row($pagewcoms)) {
echo "$itest[0] <br />";
}
}
如果您只是删除该行或对其稍作调整,它应该可以正常显示所有内容:
If you just remove that line, or tweak it a little, it should display everything just fine:
function adminnav (){
$pagewcoms = mysql_query(...);
$idnavrow = null;
while ($itest = mysql_fetch_row($pagewcoms)) {
if (empty($idnavrow)) {
$idnavrow = $itest;
}
echo "$itest[0] <br />";
}
}
这篇关于MYSQL/PHP选择区的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文