|
|
|
|
|
для: cheops
(23.10.2006 в 12:28)
| | дауж :( что то я запутался, да там и не трудно запутатся :( всё как то через .... делал вот и запутался :)
большое спасибо всё хорошо работает :) | |
|
|
|
|
|
|
|
для: Panker
(23.10.2006 в 08:27)
| | Следует изменить INSERT-запрос
<?php
$query = "INSERT INTO news VALUES ('', '$title_rss', '$des_rss', '$pub_rss', '$link_rss')";
?>
|
таким образом, чтобы в последнем поле была дата, а URL в переменной $link_rss - ложился на своё место, а не поле date. | |
|
|
|
|
|
|
|
для: cheops
(23.10.2006 в 02:34)
| | чёт я нечё не понел :)
что делать то ? :)
что то перекладывать или как)) | |
|
|
|
|
|
|
|
для: Panker
(22.10.2006 в 17:41)
| | Хм... у вас странно вставляется запись в таблицу news, поле link у вас предпоследнее, а вставляете вы $link_rss в последнее поле, поэтому скрипт и не находит старый URL, так как он ложиться в соседнее поле. | |
|
|
|
|
|
|
|
для: Panker
(22.10.2006 в 17:41)
| | >десять нвоостей в данный момент там :(
0 означает, что новости в данный момент нет, т.е. имеется ввиду, что 0 выводится даже после того, как новостная позиция добавлена в базу данных? | |
|
|
|
|
|
|
|
для: cheops
(22.10.2006 в 14:35)
| | простите
делал вроде точней сделал вроде бы всё правельно!
полный код ниже представлю, сначала расскауж :)
Вроде бы сделано всё ок НО ВСЕГДА ВЫВОДИТСЯ НОЛЬ!
Проверил вывести перед проверкой ССЫЛКИ типа echo "$rss_link"; все ссылки вывелись, дальше сверяю как вы показали, и всегда выводится десять нулей, ну типа десять нвоостей в данный момент там :(
отд код, что не так?
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
include "config.php";
$text2 = file_get_contents ("http://www.samsung.ru/press/news/news.rss");
if (preg_match_all ("#<item>.*<title>(.*)</title>.*<link>(.*)</link>.*<description>(.*)</description>.*<pubDate>(.*)</pubDate>.*</item>#isU", $text2, $regs))
{
for ($i = 0; $i < count($regs[1]); $i++)
{
$title_rss = iconv("UTF-8", "WINDOWS-1251", trim($regs[1][$i]));
$link_rss = trim ($regs[2][$i]);
$des_rss = iconv("UTF-8", "WINDOWS-1251", trim ($regs[3][$i]));
$pub_rss = trim ($regs[4][$i]);
}
}
for ($i = 0; $i < count($regs[1]); $i++)
{
$title_rss = iconv("UTF-8", "WINDOWS-1251", trim($regs[1][$i]));
$link_rss = trim ($regs[2][$i]);
$des_rss = iconv("UTF-8", "WINDOWS-1251", trim ($regs[3][$i]));
$pub_rss = trim ($regs[4][$i]);
$res = mysql_query ("SELECT COUNT(link) FROM news WHERE link = '$link_rss'");
if(!$res) exit(mysql_error());
$total = mysql_result($res, 0);
echo "$total";
$text2 = file_get_contents ($link_rss);
if (preg_match ('#</noindex></div><h1 class="news"><noindex>.*</noindex></h1>(<p>.*)<br clear="all"><table cellpadding="0" cellspacing="0" border="0" width="610">#isU', $text2, $out))
$text=$out[1];
if($total==0)
{
$query = "INSERT INTO news VALUES ('', '$title_rss', '$des_rss', '$pub_rss', '$link_rss')"; // Здесь следует сформировать запрос под вашу таблицу
mysql_query($query);
}
}
?>
|
малоли, вот таблица моя
CREATE TABLE `news` (
`id` int(11) NOT NULL auto_increment,
`title` text NOT NULL,
`text` text NOT NULL,
`link` text NOT NULL,
`data` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
--
-- Дамп данных таблицы `news`
--
|
| |
|
|
|
|
|
|
|
для: Panker
(22.10.2006 в 13:26)
| | У вас URL будет известен за ранее, поэтому запрос должен выглядеть следующим образом
<?php
$res = mysql_query ("SELECT COUNT(link) FROM news WHERE link = '$link'");
if(!$res) exit(mysql_error());
$total = mysql_result($res, 0);
?>
|
Если $total = 0 - такой записи нет, если $total = 1, такая запись уже существует и вставлять её повторно не следует. | |
|
|
|
|
|
|
|
для: cheops
(22.10.2006 в 12:22)
| | мона проверить есть ли это или нет, ну эт вы сказали выше :) я прсото хочу просить -
вот тут я првоеряю уникальных посетителей
$res = mysql_query ("SELECT COUNT(DISTINCT s_ip) FROM stat_user");
|
вот по такому принципу проверять поля урл?
или как?
и если по такому то вот так вот нормально ?
- $res = mysql_query ("SELECT COUNT(DISTINCT link) FROM news"); - тут будет проверятся уникальная ссылка? :(
и если да то это всё в иф засунуть ? | |
|
|
|
|
|
|
|
для: Panker
(20.10.2006 в 18:31)
| | Судя по всему в RSS используется уникальный URL перед добавлением можно проверять нет ли записи с таким URL в таблице tbl, если такой записи нет - добавлять новую, если есть - не добавлять. Для проверки можно осуществлять отдельный SELECT-запрос, а можно проиндексировать поле URL, создав уникальный индекс. Тогда запись с уже существующим URL не будет добавляться автоматически. Только индексировать придётся по всему полю, так как изменения в URL наблюдаются в конце URL. | |
|
|
|
|
|
|
|
для: Panker
(21.10.2006 в 22:45)
| | аушки :) так как мне сравнить что бы не записовалось :( | |
|
|
|
|