MySQL - система составления блога - PullRequest
0 голосов
/ 21 сентября 2010

Я создаю систему планирования сообщений в блоге, используя CodeIgniter.Я хочу, чтобы 10 сообщений появлялись в день.В таблице posts есть поле с именем scheduled_date, в которое я получу сообщения, которые меньше или равны текущей дате.Когда пользователь с правами администратора добавляет новую запись в базу данных, мне нужен оператор SQL, который каким-то образом поможет мне подсчитать количество записей с самой последней датой в базе данных.Например:

// 9 records returned for the date 2011-01-01
$numbers_of_records == 9;
if($numbers_of_records == 10){
    // inserts record with `scheduled_date`='2011-01-01'
}else{
    // inserts record with the date latest date +1 day
}

Как мне эффективно это сделать?

Спасибо

1 Ответ

0 голосов
/ 21 сентября 2010

Это сделает свое дело. Это просто и эффективно.

<?php

//  It is very bad to have floating values, especially for settings
//  it is good to use some sort of factory or settings class
$maxDailyPosts = (int) SettingsFactory::getSettings()->get('maxDailyPosts');
$date = '2011-01-01';

//  Load # of post for data
$numberOfRecords = (int) getNumberOfPostPerDate($date);

//  Figure out the interval for increment
$dayInterval = ($numberOfRecords >= $maxDailyPosts ) ? 1 : 0;

//  
$query = "INSERT INTO tbl (publish_date, ...) VALUES (DATE_ADD('$date', INTERVAL $dayInterval DAY), ...)";

?>
...