Вопрос по условию IF. Подскажите .

Тема в разделе "PHP", создана пользователем асс, 5 окт 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. асс

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    749
    Симпатии:
    220
    Ребята возник такой вопросс.
    Как сделать условие в php скрипте чтобы парсер не добавлял снова одну и ту же новость.
    Тоесть чтоб небыло дублей
    есть статья . пишем в базу номер этой статьи код md5
    прис ледующей проверке проверяем есть ли такая статья или нет. И желательно чтоб проверять статью за последний день. Иначе проверять всю базу будет не нужно так как проверка будет идти на последний день
    Я так понимаю пишем конструкцию типа

    Пример
    статья страя Название статьи в переменной
    PHP:
    $new_name="кот матроскин";//это новая статья
    dbname="Реки и поля"//это старая статья которая есть с базе
    //Мы видим что статьи  разные. Значит условие не равно  .
    //И так
    if($new_name!=dbname)//если  условие не равно то   сначит название статьи  новое
    Или есть вариант проще?
    И еще кто нить работал с слайдом?
    Хочу сделать модуль добавлять новости
     
  2. ewg777

    ewg777

    Регистр.:
    6 авг 2007
    Сообщения:
    763
    Симпатии:
    321
    PHP:
    if($new_name==dbname){ Повтор } else { ok }
     
  3. асс

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    749
    Симпатии:
    220
    ewg777
    если $new_name будет равен dbname
    то попадет копия одинакового сообщения в базу.

    Мне нужно чтоб они не были одинаковы
    по этому надо $new_name не равно dbname
    Если они не одинаковы значит условие истинно.
    Если одинаковы то ложь
     
  4. Liver

    Liver

    Регистр.:
    24 сен 2008
    Сообщения:
    316
    Симпатии:
    91
    асс

    ewg777 все верно описал. Если нашлось совпадение, значит это повтор и ведем себя как надо при повторе, то есть просто не добавляем эту статью.
    Вот как ты хочешь, только это одно и то же
    PHP:
    if($new_name==dbname){ return true} else { return false 
     
  5. ewg777

    ewg777

    Регистр.:
    6 авг 2007
    Сообщения:
    763
    Симпатии:
    321
    Объясню для эстонцев.
    PHP:
    if($new_name==dbname){ echo "Новость уже существует"; } else { add(); }  
    *Где add() - функция добавления ститьи в базу.
    Спасибо - кнопкой. ;)
     
  6. асс

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    749
    Симпатии:
    220
    :p

    Объясните пожалуйста уже пол дня туплю.
    Как сделать запрос

    если в таблице поле $title имеет заголовок

    $catid = "4"; //категория
    $title = "Заголовок";
    $textshort= "короткая новость" ;
    $textmore ="полная новость" ;

    $query =
    "INSERT INTO $userstable
    VALUES ('', 4, 1223214780, 0, 0, '', '$title', '$textshort', '$textmore', '', '', '', '', '', 'right','', '', 0, 'yes', 'all', 0, 0)";
    mysql_query($query) or die(mysql_error());
    echo "title дубль записи.";
    mysql_close();

    ничего не могу придумать.



    Сдела поле уникальныйм. теперь вопрос



    Акак добавить проверку еще на новости за последние 24 часа.

    Чтоб не проверять вчерашние новости. Ато если в базе их будет миллион то это будет нагрузка
     
  7. Liver

    Liver

    Регистр.:
    24 сен 2008
    Сообщения:
    316
    Симпатии:
    91
    Так держи в базе данных поле со временем Выбирай перед парингом последние новости и сверяй только с ними

    зы: ну и вопросы у вас:)
     
  8. асс

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    749
    Симпатии:
    220
    Собственно разницы нет так

    PHP:
    if($new_name!=dbname){ echo "add()"; } else { Новость уже существует }  
    разница только в том где стоять будет условие add
    до esle или после.
    Так что и то что я показал идентично вашему

    Просто вы мне показали на оборот.
    Хотя как мне кажется
    выполняется первый до else запрос
     
  9. ewg777

    ewg777

    Регистр.:
    6 авг 2007
    Сообщения:
    763
    Симпатии:
    321
    Тему можно закрывать.
    Либо человек невминяемый, либо посты набивает. Вам написали правильный ответ в первом ответе, а Вы тут флуд открываете.
     
  10. асс

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    749
    Симпатии:
    220
    Ладно пусть будет по вашему. Смысла доказывать что то не вижу. Да и вообще тема называется
    PHP для начинающих
    А посты набивать мне зачем ?.
    ewg777 Объясните от чего вы так кипятитесь Я вас Обидел или что?.

    если вы не можете понять что
    Любая из этих строчек выполнит одно и тоже.

    if($new_name==$dbname){echo "Новость уже существует";} else {echo"Добавляем новость"; }
    if($new_name!=$dbname){echo"Добавляем новость";} else {echo "Новость уже существует";}

    Так что давайте не будем Переходить на оскорбления.
    Если вам так сложно было сказать по теме.
    Пройдите пожалуйста мимо.
     
Статус темы:
Закрыта.