|
|
|
| В общем проверять одинаковые новости, если я обрабатываю через RSS ? то есть у меня есть RSS поток, откуда я беру новости и добавляю в базу, но как сделать так , чтобы не было двух одинаковых новостей?
я лично попробывал так , но ничего не вышло...
В итоге должно получиться чтобы новые новости добавились, а старые не стали добавляться.
$result=mysql_query("select * from cypr");
while($s=mysql_fetch_array($result)){
$old_title =$s['titlez'];
if($titlez==$old_title){exit;}
}
|
| |
|
|
|
|
|
|
|
для: bartik
(26.08.2006 в 13:50)
| | Можно вычислять MD5-хэш текста, помещать его в базу, а затем проверять имеется ли в базе данных такой хэш или нет. | |
|
|
|
|
|
|
|
для: cheops
(26.08.2006 в 15:50)
| | Уважаемый cheops, помогите пожалуйста , покажите пример! как проверять итд... | |
|
|
|
|
|
|
|
для: bartik
(26.08.2006 в 16:50)
| | У вас какая сейчас структура таблицы cyrp? | |
|
|
|
|
|
|
|
для: 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 ! | |
|
|
|
|
|
|
|
для: bartik
(27.08.2006 в 13:33)
| | А date сами выставляете или у новости берёте? | |
|
|
|
|
|
|
|
для: cheops
(28.08.2006 в 12:24)
| | date берётся у новости... через RSS.
пример даты Mon, 28 Aug 2006 12:26:08 +0400 | |
|
|
|
|
|
|
|
для: bartik
(28.08.2006 в 13:07)
| | Т.е. дата всегда уникальна и если встречается две одинаковые даты - эти новости одинаковы? | |
|
|
|
|
|
|
|
для: cheops
(28.08.2006 в 17:51)
| | Совершенно верно. Даты всегда разные. | |
|
|
|
|
|
|
|
для: 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($cyr, 0) <= 0)
{
// Вставляем новую запись посредством INSERT
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(29.08.2006 в 15:57)
| | Спасибо большое , на 1 день поставлю тестировать... | |
|
|
|