2013-01-14 29 views
-1

嗨,我是想算表,其中特定的行高于0.1 如果表(请求)有行(rq_stamp)大于0,则应该算作/选择是。计数特定行表

这是我得到了这么远,但我总是得到1($ NUM_ROWS始终为1)。

$rq_notice = mysql_query("SELECT * FROM requests WHERE rq_poster = '$rq_notice_user' HAVING COUNT(rq_stamp) > 0 ") or die(mysql_error()); 
if(mysql_num_rows($rq_notice) > 0) 
{ 
    $num_rows = mysql_num_rows($rq_notice); 
    echo $num_rows; 
} 

感谢,可以提供任何帮助,我很抱歉,如果这个问题已经前已回答,但是当我搜索我找不到它。

回答

0

我想你误会做什么计数;)

什么你写在这里是一个查询。换句话说,你正在发送一个人搜索数据。你将得到的只是你在SELECT部分​​中定义的内容。

计数是,你可以使用函数如果按特定的列。你可以在这里f.e.在存储照片及其上传者的桌子上设置查询。使用计数您现在可以为每个上传器获取多个上传的照片。更多的例子:http://dev.mysql.com/doc/refman/5.1/en/counting-rows.html

我想你想要做这样的事情:

SELECT * FROM requests WHERE rq_poster = '$rq_notice_user' AND rq_stamp > 0 

只是让所有请求,其中海报X和时间戳> 0和使用PHP您现在可以检查多少钱行已收集,您可以通过使用mysql_query获取行。 http://php.net/mysql_query

但请使用mysqli或PDO代替mysql。我只是在谈论你在PHP中使用的功能。从PHP 5.5开始,PHP扩展mysql已经被弃用了,你不应该使用你现在知道的东西,它将被删除。如果你要问,为什么它被弃用:http://de2.php.net/manual/en/faq.databases.php#faq.databases.mysql.deprecated

+0

THX的帮助和单挑约的mysqli PDO。 你可以举一个如何在PDO中编写这个例子吗?我会非常感谢全 – Designon

+0

看看这些教程:http://php.net/manual/en/pdostatement.execute.php和http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers请写我一个私人邮件如果您在阅读这些内容后还有更多问题,因为这不再与此问题有关。 – SimonSimCity

+0

谢谢,那些好的导游,尤其是第二个;)。 – Designon

0

使用COUNT()你introducting聚集到你的查询这似乎没有必要。如果你只是想以确定是否rq_stamp的值大于0只是做:

SELECT * FROM requests WHERE rq_poster = '$rq_notice_user' AND rq_stamp > 0