我试图计算具有相同日期值的行数,但它不会这样做。当我知道有相同日期值的行时,我无法将其计数高于3。这是我的代码:
$getDate = getdate();
$d = $getDate['mday'];
$m = $getDate['mon'];
$y = $getDate['year'];
$date = $y . '-' . $m . '-' . $d;
$query = "SELECT COUNT(*) FROM websites WHERE date='$date'";
mysql_select_db('garrettl_awards');
$total = mysql_query( $query, $conn );
$loop = $total/4;
echo $loop;
这是我的数据库表的图片:
答案 0 :(得分:0)
尝试此查询。
SELECT COUNT(*) FROM websites WHERE date>='$date' AND date < ('$date' + INTERVAL 1 DAY)
它会处理您的date
列包含某些不正确的午夜值的可能性。
答案 1 :(得分:0)
尝试以下,可能适合您;)
如果$date
的格式为yyyy-mm-dd(2016-05-01):
SELECT COUNT(*) FROM websites WHERE date_format(date, '%Y-%m-%d')='$date'
或者格式是yyyy-m-d like(2016-5-1):
SELECT COUNT(*) FROM websites WHERE date_format(date, '%Y-%c-%e')='$date'
<强>编辑:强>
试试这个;)
$query = "SELECT COUNT(*) FROM websites WHERE date_format(date, '%Y-%m-%d')='" . $date . "'";
答案 2 :(得分:0)
如果要比较“文本”两个值,请确保它们的格式相同:
格式化日期参数:
// For month and day to be on 2 digits
$d = sprintf("%'.02d", $getDate['mday']);
$m = sprintf("%'.02d", $getDate['mday']);
您在数据库中的日期:
SELECT COUNT(*) FROM websites WHERE date_format(date,'%Y-%m-%d')='$date'
它可以解决您的问题。