![](/img/trans.png)
[英]MYSQL SELECT DISTINCT is not distinct in the PHP, but is distinct in the database
[英]MYSQL/PHP SELECT DISTINCT
我在另一页上调用了此功能。
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');
我的问题是函数可以打印“ array array”我可以处理数据,但是不应该有3个不同的结果吗? 这是我最近的一次。 这个想法是搜索表格并找到带有注释的页面,稍后我将其列为链接。
所以我想要的结果是
“ 1 2 3”
先感谢您。
编辑:
对不起,我措辞不好。 pornt不是“ array array”,它只有两个。 我可以显示它,但没关系。 如前所述,我仍然只有“ 2 3”显示,我只有两个数组数据。
[ * *我,我现在必须重新询问这个吗?]
应该是echo "$itest[0] <br />";
检查PHP文档: http : //php.net/manual/en/function.mysql-fetch-row.php
mysql_fetch_row —获取结果行作为枚举数组
您不是在获取值,而是在获取数组。 您只看到“数组数组”的原因是,第一个结果是在$idnavrow = mysql_fetch_row($pagewcoms);
上“消失”了$idnavrow = mysql_fetch_row($pagewcoms);
线。
将您的功能更改为以下内容,我确定您会看到期望的所有3个数字:
$pagewcoms = mysql_query("SELECT DISTINCT pageid FROM comments") or die(mysql_error());
while ($itest = mysql_fetch_row($pagewcoms)) {
echo $itest[0] . ' <br />';
}
mysql_fetch_row返回一个包含该行中所有项目的数组。 除了打印$ itest,还应该打印$ itest [0]。
为了清楚起见,您也可以使用mysql_fetch_assoc并打印$ itest ['pageid']。
mysql_fetch_row()返回一个数组,即使它只包含一个元素。 您的“回声”应如下所示:
echo "{$itest[0]} <br />";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.