Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Блок "Новости"

Сообщения:  [1-4] 

 
 автор: cheops   (20.02.2006 в 01:32)   письмо автору
 
   для: sirop   (19.02.2006 в 23:49)
 

Совершенно верно, спасибо, поправим.

   
 
 автор: cheops   (20.02.2006 в 01:30)   письмо автору
 
   для: sirop   (19.02.2006 в 23:34)
 

Очень элегантные решения, обязательно их включим в следующую версию. На скорости это не должно отразится практически ни как, если таблица не разрастётся до нескольких мегабайт, а при размещении новостей - это практически не реально.

   
 
 автор: sirop   (19.02.2006 в 23:49)   письмо автору
 
   для: sirop   (19.02.2006 в 23:34)
 

И ещё... В файле news.php есть такая строка

<?
// Проверяем параметр page, предотвращая SQL-инъекцию
if(!preg_match("|^[\d]*$|",$_POST['page'])) puterror("Ошибка при обращении к блоку новостей");
?>

Почему в ней проверяем переменную page переданную методом POST? Может нужно $_GET['page'] ?

   
 
 автор: sirop   (19.02.2006 в 23:34)   письмо автору
 
 

Я попробовал разобраться в скрипте блока "Новостей" http://www.softtime.ru/info/downloads.php - очень много почерпнул из него нужного и интересного. Спасибо!
Хотелось бы немного дополнить... Вот если в запросах к таблице news дописать условие AND putdate <= NOW()

$query = "SELECT id_news,
                   name,
                   body,
                   DATE_FORMAT(putdate,'%d.%m.%Y') as putdate_format,
                   url,
                   url_text,
                   url_pict,
                   hide
              FROM news 
              WHERE hide='show'
              AND putdate <= NOW()
              ORDER BY putdate DESC 
              LIMIT $begin, $all_number_news";

то сразу же будет дополнительная возможность у скрипта вводить новости наперёд. Соответсвенно, вывод будет после проверки текущей даты.
Конечно же, такое условие нужно писать в нужных запросах.
И ещё...
В Вашем варианте скрипта постраничная навигация ведёт подсчёт и тех новостей, которые скрыты. Например, у меня 35 новостей, из которых 5 скрытых. Навигация показывает 4 страницы, а фактически их должно быть 3
Я изменил

$query = "SELECT COUNT(*) FROM news";

на

$query = "SELECT COUNT(*) FROM news WHERE hide='show' AND putdate <= NOW()";

Получилось, что выбираются те новости, которые не скрыты и которые подходят по дате.

Хотелось бы узнать Ваше мнение по поводу таких изменений и как эти изменения могут повлиять на скорость и загрузку?

   

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования