Есть одна задача пока решить не могу так как давно практики не было вот собственно сама задача
Есть парсер RSS лент новостей поставил на крон 3 парсера по 5 минут вот все спарсеные записи записываю на БД. Проблема в том что мне нужно отфильтровать дубликаты или написать запрос чтобы добавить его в крон чтоб с помощью запроса удалять все.
Сам парсер ФИЛЬТР ПОЧЕМУ ТО ПРОПУСКАЕТ ПОКА ПОНЯТЬ НЕ МОГУ ПОЧЕМУ
$url = '####'; // откуда парсим
$rss = simplexml_load_file($url);
$i=0;
$cate= "Новости в мире";
$copy= "COPY";
if($rss){
$items = $rss->channel->item;
$num = (int)$rss->count;
foreach($items as $item){
$i++;
if($i==5) { break;} else {
$result = mysql_query("SELECT * FROM `ultynews` WHERE `dataPub` = '".$item->pubDate."' ");
if( !mysql_num_rows($result) ) {
mysql_query("INSERT INTO `ultynews` SET
`name` = '" . mysql_real_escape_string($item>title) . "',
`tname` = '" . mysql_real_escape_string(translit($item->title)) . "',
`text` = '" .$item->description . "',
`ulty` = '" . $copy . "',
`dataPub` = '" . $item->pubDate . "',
`img` = '" . (string)$item->enclosure->attributes()->url . "',
`cate` = '" .$cate . "',
`time` = '" . time() . "'");
echo "Новость Добавлена!".$i;
}
else {
echo "Ошибка! Такая Новость Есть.";
mysql_close();
}
}
}
}
jaras, у новости должно быть какое то уникальное поле, может ид, его и проверяй
jaras, можно создать уникальное поле, добавь в таблицу поле и пиши туда например время и имя в мд5
Koenig, Id не подходит я проверку делал по название новости
Название новости > транслит на eng с фильтром на все символы > отфильтрованный название записоваетя как ключ для проверки и перед записью проверяется на дубль таким же способом
Но почему-то внутри цикла пропускает дубли даже если в условие есть break
jaras, брэйк рубит весь цикл, надо сделать условие с континие, и цикл просто будет пропускать запись
Koenig, Прикол в том что цикл не рубиться даже если есть совпадение на дубль
Koenig, Если не сложно напиши свой вариант