2013-01-14 54 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