0 / 0 / 0
Регистрация: 21.07.2012
Сообщений: 4
1

Добавление поста в mysql wordpress

21.07.2012, 15:42. Показов 3724. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

У меня есть сайт (wordpress) на котором в одну из рубрик должны парсится заметки с других сайтов (с сохранением активных ссылок на первоисточник). Есть файл php он должен запускаться через cron.
Но я ни как ни могу победить,что бы при парсинге:
1. Была проверка на уникальность заметки (например по автору и времени заметки).
2. И второе,как сделать,что бы записи размещались в определенной рубрике и не показывались на главной?

Вот часть кода:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        // Преобразование кодировки и формирование поста
        $name = iconv("utf-8", "windows-1251", $name);
        $news = iconv("utf-8", "windows-1251", $news);
        $output .= '<br />' . $account . '<br />' . $image .'<br />' . $name . '<br />' .$news .'<br /> '. $time . '<br />';
        $mysql = mysql_query("SELECT COUNT(*) FROM `wp_posts` WHERE `date` ='".$time."' and `post_content_filtered` = '".$account."';");
        $count_mysql = mysql_result($mysql,0);
        $post = '<img src="' . $image .'" border="0" width="48" height="48" align="left" alt="pic" />Сообщение опубликовал <b><a href="'.$account.'" target="_new">'.$name.'</a></b>, дата: '.$time.'<br /><br />'.$news;
        
        // Если пост раньше не добавлялся - добавить
        if ($count_mysql == 0) {
          mysql_query("INSERT INTO `wp_posts` (`post_author`, `post_date`, `post_content`, `post_title`, `post_content_filtered`) VALUES ('1','".$time."', '".$post."', 'От ".$name." ".$time."','".$account."');");
        }
      }
    }
    else
      $output = '
<div class="news"><span class="error">' . curl_error($ch) . '</span></div>
Буду благодарна за любую помощь и подсказки!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.07.2012, 15:42
Ответы с готовыми решениями:

Создать сложный запрос mysql wordpress
Не могли бы вы помочь мне переделать сложный запрос к базе данных с подсчетом постов? Ситуация...

Добавление в MySQL
Добрый вечер, можно ли добавить несколько разных, к примеру, переменных в mysql через php с...

Добавление данных в MySQL
Доброго времени суток товарищи. В общем имеется следующая проблема: написал код с помощью которого...

Добавление данных из формы в mysql
Здраствуйте!!!Очень надеюсь что вы мне поможите уже 3 день сижу с этой формой все перепробовала ...

8
91 / 91 / 13
Регистрация: 14.07.2012
Сообщений: 539
21.07.2012, 20:35 2
Цитата Сообщение от Kristja1 Посмотреть сообщение
Добрый день!
Но я ни как ни могу победить,что бы при парсинге:
1. Была проверка на уникальность заметки (например по автору и времени заметки).
2. И второе,как сделать,что бы записи размещались в определенной рубрике и не показывались на главной?
1. Уникальность относительно чего? земли космоса или собственной базы? (нужное подчеркнуть)
2. В базе лобавить типа поле номер рабрики и изменить на главной чтобы если поле номер не тот который нужен не выводить.
1
0 / 0 / 0
Регистрация: 21.07.2012
Сообщений: 4
22.07.2012, 17:12  [ТС] 3
Цитата Сообщение от pyramida Посмотреть сообщение
1. Уникальность относительно чего? земли космоса или собственной базы? (нужное подчеркнуть)
2. В базе лобавить типа поле номер рабрики и изменить на главной чтобы если поле номер не тот который нужен не выводить.
1. Уникальность относительно собственной базы.
2. Подскажите как это реализовать.

Заранее благодарна
0
91 / 91 / 13
Регистрация: 14.07.2012
Сообщений: 539
22.07.2012, 17:32 4
Kristja1, я с ВП не работаю. Вам искать фрилансера нужно.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16842 / 6720 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
22.07.2012, 17:36 5
1. перед вставкой записи в БД пробуете извлечь похожие. если mysql_num_rows > 0 - то значит уже есть такие записи -> не уникальная запись.
2. извлекаете записи там где вам нужно и все..
P.S. с движками не работаю..
1
0 / 0 / 0
Регистрация: 21.07.2012
Сообщений: 4
22.07.2012, 23:14  [ТС] 6
Цитата Сообщение от pyramida Посмотреть сообщение
Kristja1Вам искать фрилансера нужно.
Ради 2 строк?

Добавлено через 1 минуту
Цитата Сообщение от KOPOJI Посмотреть сообщение
1. перед вставкой записи в БД пробуете извлечь похожие. если mysql_num_rows > 0 - то значит уже есть такие записи -> не уникальная запись.
Знать бы еще как это реализовать

Цитата Сообщение от KOPOJI Посмотреть сообщение
2. извлекаете записи там где вам нужно и все..
Не поняла...
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16842 / 6720 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
22.07.2012, 23:16 7
Цитата Сообщение от Kristja1 Посмотреть сообщение
PHP
1
2
3
4
5
$mysql = mysql_query("SELECT COUNT(*) FROM `wp_posts` WHERE `date` ='".$time."' and `post_content_filtered` = '".$account."';");
* * * * $count_mysql = mysql_result($mysql,0);
* * * * $post = '<img src="' . $image .'" border="0" width="48" height="48" align="left" alt="pic" />Сообщение опубликовал <b><a href="'.$account.'" target="_new">'.$name.'</a></b>, дата: '.$time.'<br /><br />'.$news;
// Если пост раньше не добавлялся - добавить
* * * * if ($count_mysql == 0) {
у вас же вроде это уже делает что то такое, разве нет?
Цитата Сообщение от Kristja1 Посмотреть сообщение
Не поняла...
пишете код с извлечением в том месте где он вам нужен
0
0 / 0 / 0
Регистрация: 21.07.2012
Сообщений: 4
22.07.2012, 23:18  [ТС] 8
Цитата Сообщение от KOPOJI Посмотреть сообщение
у вас же вроде это уже делает что то такое, разве нет?
Должно,но почему то не работает...
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16842 / 6720 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
22.07.2012, 23:32 9
я не знаю как на движках но можно вот так
при добавлении поста проверяете по какому то полю, есть уже такое или нет. пример:
PHP
1
2
3
4
5
6
7
8
9
10
$text = "какой то небольшой текст, например, тема поста";
$author = "имя_автора";
$sql = "SELECT `id` FROM `table_name` Where `text` LIKE '%".$text."%' and `author`='$author'";
$res = mysql_query($sql);
if(mysql_num_rows($res)) {
// Запись не уникальна
}
else {
// OK, Добавляем
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.07.2012, 23:32
Помогаю со студенческими работами здесь

Добавление полей в таблицу MySQL
Подобно теме https://www.cyberforum.ru/php-database/thread113508.html#post3439785 А вот у меня...

MySQL добавление значений к переменной
имею код &lt;?php include &quot;db.php&quot;; $SCORE = $_GET; $USERNAME = $_GET; $result =...

Добавление в базу MYSQL не работает
Доброго. Есть такой код: &lt;?php $name=$_POST; $resultMessage=&quot;&quot;; ...

Добавление рисунка в базу mysql
У меня есть форма: &lt;form method=&quot;post&quot; action=&quot;&quot;&gt; &lt;input type=&quot;file&quot;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru