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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Как проверять одинаковые новости, если я обрабатываю через RSS
 
 автор: bartik   (26.08.2006 в 13:50)   письмо автору
 
 

В общем проверять одинаковые новости, если я обрабатываю через RSS ? то есть у меня есть RSS поток, откуда я беру новости и добавляю в базу, но как сделать так , чтобы не было двух одинаковых новостей?
я лично попробывал так , но ничего не вышло...
В итоге должно получиться чтобы новые новости добавились, а старые не стали добавляться.

$result=mysql_query("select * from cypr");
while($s=mysql_fetch_array($result)){
$old_title =$s['titlez'];
if($titlez==$old_title){exit;}
}

   
 
 автор: cheops   (26.08.2006 в 15:50)   письмо автору
 
   для: bartik   (26.08.2006 в 13:50)
 

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

   
 
 автор: bartik   (26.08.2006 в 16:50)   письмо автору
 
   для: cheops   (26.08.2006 в 15:50)
 

Уважаемый cheops, помогите пожалуйста , покажите пример! как проверять итд...

   
 
 автор: cheops   (26.08.2006 в 22:56)   письмо автору
 
   для: bartik   (26.08.2006 в 16:50)
 

У вас какая сейчас структура таблицы cyrp?

   
 
 автор: bartik   (27.08.2006 в 13:33)   письмо автору
 
   для: cheops   (26.08.2006 в 22:56)
 

Структура следующая

CREATE TABLE `cypr` (
  `id` int(10) NOT NULL auto_increment,
  `minitext` text NOT NULL,
  `category` varchar(100) NOT NULL default '',
  `titlez` varchar(255) NOT NULL default '',
  `date` varchar(255) NOT NULL default '',
  `image` text NOT NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;


Где основной техт хранится в minitext !

   
 
 автор: cheops   (28.08.2006 в 12:24)   письмо автору
 
   для: bartik   (27.08.2006 в 13:33)
 

А date сами выставляете или у новости берёте?

   
 
 автор: bartik   (28.08.2006 в 13:07)   письмо автору
 
   для: cheops   (28.08.2006 в 12:24)
 

date берётся у новости... через RSS.
пример даты Mon, 28 Aug 2006 12:26:08 +0400

   
 
 автор: cheops   (28.08.2006 в 17:51)   письмо автору
 
   для: bartik   (28.08.2006 в 13:07)
 

Т.е. дата всегда уникальна и если встречается две одинаковые даты - эти новости одинаковы?

   
 
 автор: bartik   (29.08.2006 в 14:51)   письмо автору
 
   для: cheops   (28.08.2006 в 17:51)
 

Совершенно верно. Даты всегда разные.

   
 
 автор: cheops   (29.08.2006 в 15:57)   письмо автору
 
   для: bartik   (29.08.2006 в 14:51)
 

Тогда перед тем как добавлять новую запись при помощи оператора INSERT, следует проверить, нет ли записи с такой датой
<?php
  $query 
"SELECT COUNT(*) FROM `cypr` WHERE `date` = 'YYYY-MM-DD'";
  
$cyr mysql_query($query);
  if(!
$cyr) exit(mysql_error());
  if(
mysql_result($cyr0) <= 0)
  {
     
// Вставляем новую запись посредством INSERT
  
}
?>

   
 
 автор: bartik   (30.08.2006 в 00:29)   письмо автору
 
   для: cheops   (29.08.2006 в 15:57)
 

Спасибо большое , на 1 день поставлю тестировать...

   
Rambler's Top100
вверх

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