За последние 24 часа нас посетили 17108 программистов и 1302 робота. Сейчас ищут 1726 программистов ...

Проверка на на старые записи в БД

Тема в разделе "MySQL", создана пользователем ma1oy, 27 май 2009.

  1. ma1oy

    ma1oy Активный пользователь

    С нами с:
    26 май 2009
    Сообщения:
    4
    Симпатии:
    0
    Добрый день, у меня здесь появилась проблема, подскажите что не так, сам не программист...
    Дело в чем, нужно спарсить с сайта RSS новости и положить аккуратно в базу, вроде все хорошо работало с кодом ниже, но появилась проблема, когда появляются новые новости, начинаются дублироваться старые новости, решил сделать проверку, но почемуто не работает (второй код), помогите пожалуйста...
    Нужно сделать так: если есть уже такая новость, то ничего не делать, если нет, то внести ее, как лучше сделать?



    PHP:
    1.  
    2. <?
    3. $query = "INSERT INTO b_iblock_element (NAME,DETAIL_TEXT,DATE_CREATE,TIMESTAMP_X,ACTIVE_FROM,IBLOCK_ID,DETAIL_TEXT_TYPE,CREATED_BY) VALUES('".
    4.    $TITLE."','".$DESC."','".date('Y-m-d H:i:s',$DATE)."','".date('Y-m-d H:i:s',$DATE)."','".date('Y-m-d H:i:s',$DATE)."','".$BLOCK."','".$TEXTTYPE."','".$CREATEDBY."')";
    5.    
    6.                 $result = mysql_query($query);
    7.                
    8.                 print($result);
    9. ?>
    10.  



    PHP:
    1.  
    2. <?
    3. $newsold = mysql_query("SELECT * FROM b_iblock_element WHERE NAME = '$TITLE'");
    4.             if(!$newsold) {
    5.               $query = "INSERT INTO b_iblock_element (NAME,DETAIL_TEXT,DATE_CREATE,TIMESTAMP_X,ACTIVE_FROM,IBLOCK_ID,DETAIL_TEXT_TYPE,CREATED_BY) VALUES('".
    6.    $TITLE."','".$DESC."','".date('Y-m-d H:i:s',$DATE)."','".date('Y-m-d H:i:s',$DATE)."','".date('Y-m-d H:i:s',$DATE)."','".$BLOCK."','".$TEXTTYPE."','".$CREATEDBY."')";
    7.               $result = mysql_query($query);
    8.           print($result);
    9.               print("insert");
    10.           } else {
    11.               $query = "UPDATE b_iblock_element SET NAME = '".$TITLE."', DETAIL_TEXT = '".$DESC."', DATE_CREATE = '".date('Y-m-d H:i:s',$DATE)."', TIMESTAMP_X = ".date('Y-m-d H:i:s',$DATE)."', ACTIVE_FROM = ".date('Y-m-d H:i:s',$DATE)."', IBLOCK_ID = ".$BLOCK."', DETAIL_TEXT_TYPE = ".$TEXTTYPE."', CREATED_BY = ".$CREATEDBY."' WHERE NAME = '$TITLE'";
    12.               $result = mysql_query($query);
    13.               print($result);
    14.               print("update");
    15.              
    16.          }
    17. ?>
    18.  
    PS вот результат работы скрипта с последним кодом, только первые 2 новости он должен добавить а не просто обновить...
    Код (Text):
    1.  
    2. [2009-05-26 15:02:39] - [Что будет с Сердюковым]update
    3. [2009-05-26 14:08:38] - [Ревизия на границе]update
    4. [2009-05-26 14:05:23] - [Таможенный пункт пропуска будет установлен на Финляндском вокзале Санкт- Петербурга]update
    5. [2009-05-26 13:59:07] - [Новый логоцентр в ожидании арендаторов]update
    6. [2009-05-26 13:52:10] - [Эффект новой логистики АВТОВАЗа]update