Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
bojikodab
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 28
1

Не получается объединить 2 RSS потока

26.10.2012, 13:59. Просмотров 1018. Ответов 16
Метки нет (Все метки)

Здравствуйте, хочу объединить 2 RSS потока, но почему-то не получается их в один сделать. Посмотрите на предметы ошибок, заранее большое спасибо!

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
elseif ($c == "projects")
{
    // == All items ==
    $rss_title = $domain." : Заказы";
    $rss_description = "";
 
    $sql = "SELECT * FROM sed_projects WHERE item_state=0 ORDER BY item_date DESC LIMIT $cfg_maxitems ";
    $res = sed_sql_query($sql);
    $i = 0;
    while($row = mysql_fetch_assoc($res))
    {
        $items[$i]['title'] = $row['item_title'];
        $items[$i]['description'] = $row['item_text'];
        $items[$i]['link'] = SED_ABSOLUTE_URL.sed_url('plug', "e=projects&m=show&itemid=".$row['item_id']."");
        $items[$i]['pubDate'] = date('r', $row['item_date']);
        
        $i++;
    }
    
        $sql_2 = "SELECT * FROM sed_market as m LEFT JOIN sed_users AS u ON u.user_id=m.item_userid WHERE item_state=0 ORDER BY item_date DESC LIMIT $cfg_maxitems ";
    $res_2 = sed_sql_query($sql_2);
    $k = 0;
    while($row_2 = mysql_fetch_assoc($res_2))
    {
        $items[$k]['title'] = $row_2['item_title'];
        $items[$k]['description'] = $row_2['item_text'];
        $items[$k]['link'] = SED_ABSOLUTE_URL.sed_url('plug', "e=market&m=show&itemid=".$row_2['item_id']."");
        $items[$k]['pubDate'] = date('r', $row_2['item_date']);
        
        $k++;
    }
    
}
Добавлено через 18 минут
Объединяются вот эти две части RSS. Можно ли так объединять как я это сделал? может есть какие-либо грубые ошибки?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
$sql = "SELECT * FROM sed_projects WHERE item_state=0 ORDER BY item_date DESC LIMIT $cfg_maxitems ";
    $res = sed_sql_query($sql);
    $i = 0;
    while($row = mysql_fetch_assoc($res))
    {
        $items[$i]['title'] = $row['item_title'];
        $items[$i]['description'] = $row['item_text'];
        $items[$i]['link'] = SED_ABSOLUTE_URL.sed_url('plug', "e=projects&m=show&itemid=".$row['item_id']."");
        $items[$i]['pubDate'] = date('r', $row['item_date']);
        
        $i++;
    }
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$sql_2 = "SELECT * FROM sed_market as m LEFT JOIN sed_users AS u ON u.user_id=m.item_userid WHERE item_state=0 ORDER BY item_date DESC LIMIT $cfg_maxitems ";
    $res_2 = sed_sql_query($sql_2);
    $k = 0;
    while($row_2 = mysql_fetch_assoc($res_2))
    {
        $items[$k]['title'] = $row_2['item_title'];
        $items[$k]['description'] = $row_2['item_text'];
        $items[$k]['link'] = SED_ABSOLUTE_URL.sed_url('plug', "e=market&m=show&itemid=".$row_2['item_id']."");
        $items[$k]['pubDate'] = date('r', $row_2['item_date']);
        
        $k++;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2012, 13:59
Ответы с готовыми решениями:

Объединить две таблицы уже в PHP? В SQL запросе не получается
Посылаю 2 запроса: 1. SELECT * , GROUP_CONCAT( `tur_id` ORDER BY `tur_id` )...

Не получается с вторичного потока обратиться напрямую к объекту из главного потока
Добрый день. Проблема заключается в том что не могу в WPF с вторичного потока...

Не получается распарсить rss на одном сайте. Библиотека jsoup
Вот сам сайт http://www.economist.com/sections/economics и его rss по ссылке...

Количество новостей rss ленты и подключения несколько rss лент
Здравствуйте, возник такой вопрос, у меня есть rss-лента, одна она работает...

Не получается объединить более 2 строк
- должно быть - получается <HTML><HEAD> <TITLE>пример таблицы</TITLE>...

16
Nazz
WEB-developer
897 / 728 / 80
Регистрация: 12.03.2009
Сообщений: 2,802
Записей в блоге: 2
26.10.2012, 14:20 2
у Вас в коде элементы массива
PHP
1
$items[$i]
преопределяються элементами
PHP
1
$items[$k]
Пробуйте сейчас:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
elseif ($c == "projects")
{
    // == All items ==
    $rss_title = $domain." : Заказы";
    $rss_description = "";
 
    $sql = "SELECT * FROM sed_projects WHERE item_state=0 ORDER BY item_date DESC LIMIT $cfg_maxitems ";
    $res = sed_sql_query($sql);
    $i = 0;
    while($row = mysql_fetch_assoc($res))
    {
        $items[$i]['title'] = $row['item_title'];
        $items[$i]['description'] = $row['item_text'];
        $items[$i]['link'] = SED_ABSOLUTE_URL.sed_url('plug', "e=projects&m=show&itemid=".$row['item_id']."");
        $items[$i]['pubDate'] = date('r', $row['item_date']);
        
        $i++;
    }
    
        $sql_2 = "SELECT * FROM sed_market as m LEFT JOIN sed_users AS u ON u.user_id=m.item_userid WHERE item_state=0 ORDER BY item_date DESC LIMIT $cfg_maxitems ";
    $res_2 = sed_sql_query($sql_2);
    $k = count($items);
    while($row_2 = mysql_fetch_assoc($res_2))
    {
        $items[$k]['title'] = $row_2['item_title'];
        $items[$k]['description'] = $row_2['item_text'];
        $items[$k]['link'] = SED_ABSOLUTE_URL.sed_url('plug', "e=market&m=show&itemid=".$row_2['item_id']."");
        $items[$k]['pubDate'] = date('r', $row_2['item_date']);
        
        $k++;
    }
    
}
1
bojikodab
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 28
26.10.2012, 14:51  [ТС] 3
хм, теперь при переходе по ссылке, отображается как нужно, но почему-то в контакт в группу не импортируются темы из этого скрипта
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$sql_2 = "SELECT * FROM sed_market as m LEFT JOIN sed_users AS u ON u.user_id=m.item_userid WHERE item_state=0 ORDER BY item_date DESC LIMIT $cfg_maxitems ";
    $res_2 = sed_sql_query($sql_2);
    $k = 0;
    while($row_2 = mysql_fetch_assoc($res_2))
    {
        $items[$k]['title'] = $row_2['item_title'];
        $items[$k]['description'] = $row_2['item_text'];
        $items[$k]['link'] = SED_ABSOLUTE_URL.sed_url('plug', "e=market&m=show&itemid=".$row_2['item_id']."");
        $items[$k]['pubDate'] = date('r', $row_2['item_date']);
        
        $k++;
    }
В чем проблема может быть? если в первый раздел добавляю, то все ок сразу появляется на стене ВК, а в этот не импортируется почему-то.. Но по ссылке RSS в браузере, показывает и те и те как нужно.
0
Nazz
WEB-developer
897 / 728 / 80
Регистрация: 12.03.2009
Сообщений: 2,802
Записей в блоге: 2
26.10.2012, 14:53 4
возможно для контакта нужно разрешать определенные ссылки которые могут импортироваться автоматически...
0
bojikodab
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 28
26.10.2012, 14:57  [ТС] 5
м, на сколько мне известно ничего не нужно разрешать. т.к там проиходит импорт RSS потока, но почему-то сейчас не хочет импортировать. что очень странно.
0
Nazz
WEB-developer
897 / 728 / 80
Регистрация: 12.03.2009
Сообщений: 2,802
Записей в блоге: 2
26.10.2012, 15:03 6
проверьте все ли новости уходят в контакт,...
проверьте итоговый массив...
0
bojikodab
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 28
26.10.2012, 15:10  [ТС] 7
м, а как это можно сделать? не совсем понял задачу
0
Nazz
WEB-developer
897 / 728 / 80
Регистрация: 12.03.2009
Сообщений: 2,802
Записей в блоге: 2
26.10.2012, 15:15 8
Цитата Сообщение от Nazz Посмотреть сообщение
проверьте итоговый массив
сделать
PHP
1
var_dump($items);
или
PHP
1
print_r($items);
перед тем, как Вы отправляете данные в контакт.
0
bojikodab
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 28
26.10.2012, 15:32  [ТС] 9
м, я как таково не отправляю в вк. У меня в "Управление сообществом" есть поле "Импорт RSS" вот я там указал путь к RSS, но почему-то в вк переходит только первая часть БД, хотя при переходе по ссыле на RSS там есть все записи.
0
Nazz
WEB-developer
897 / 728 / 80
Регистрация: 12.03.2009
Сообщений: 2,802
Записей в блоге: 2
26.10.2012, 15:40 10
а он работает постоянно, или с каким-то периодом?
0
bojikodab
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 28
26.10.2012, 15:45  [ТС] 11
постоянно, т.к я добавляю и сразу появляется. Как еще можно объединить эти 2 запроса? какой-нибудь другой способ есть?
0
Nazz
WEB-developer
897 / 728 / 80
Регистрация: 12.03.2009
Сообщений: 2,802
Записей в блоге: 2
26.10.2012, 15:48 12
думаю что проблема не в обьеденении, так как Вы сам сказали что при переходе по ссылке все показывается...
0
bojikodab
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 28
26.10.2012, 17:08  [ТС] 13
сейчас попробую сделать вывод раздела который не выводится, убрав первый скрипт

Добавлено через 1 час 5 минут
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// == All items ==
    $rss_title = $domain." : Заказы";
    $rss_description = "";
 
    $sql = "SELECT * FROM sed_projects WHERE item_state=0 ORDER BY item_date DESC LIMIT $cfg_maxitems ";
    $res = sed_sql_query($sql);
    $i = 0;
    while($row = mysql_fetch_assoc($res))
    {
        $items[$i]['title'] = $row['item_title'];
        $items[$i]['description'] = $row['item_text'];
        $items[$i]['link'] = SED_ABSOLUTE_URL.sed_url('plug', "e=projects&m=show&itemid=".$row['item_id']."");
        $items[$i]['pubDate'] = date('r', $row['item_date']);
        
        $i++;
    }
Вот этот кусок кода работает отлично, а вот со вторым что то не так. Т.к. сейчас хотел просто второй вывести без первого, контакт не выводит почему-то. В чем может быть проблема, если логически подумать?
0
Nazz
WEB-developer
897 / 728 / 80
Регистрация: 12.03.2009
Сообщений: 2,802
Записей в блоге: 2
26.10.2012, 17:19 14
возможно для другого блока нужна другая ссылка?
0
bojikodab
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 28
27.10.2012, 14:18  [ТС] 15
Большое спасибо что помогли, завтра с утра начну все сначала, должно все получиться.

Добавлено через 20 часов 5 минут
все равно не пойму в чем проблема, вчера проверял, все работало, сегодня добавляю на сайт, опять какая-то проблема с ВК, не отображает и все.

Добавлено через 7 минут
HTML5
1
2
3
4
5
6
7
8
9
10
11
line 46, column 0: item should contain a guid element (53 occurrences) [help]
</item>
 
 
line 436, column 40: Implausible date: Sat, 27 Oct 2012 17:13:14 +0000 (2 occurrences) [help]
<pubDate>Sat, 27 Oct 2012 17:13:14 +0000</pubDate>
                                        ^
 
 
line 612, column 0: Missing atom:link with rel="self" [help]
</channel>
Это при проверки на валидность, можно это как-нибудь исправить?
0
Nazz
WEB-developer
897 / 728 / 80
Регистрация: 12.03.2009
Сообщений: 2,802
Записей в блоге: 2
27.10.2012, 14:21 16
покажыте rss-текст
0
bojikodab
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 28
27.10.2012, 14:51  [ТС] 17
Это сам вывод я так понимаю:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
// RSS output
$out = "<?xml version='1.0' encoding='".$cfg_charset."'?>\n";
$out .= "<rss version='2.0'>\n";
$out .= "<channel>\n";
$out .= "<title>".htmlspecialchars($rss_title)."</title>\n";
$out .= "<link>".$rss_link."</link>\n";
$out .= "<description>".htmlspecialchars($rss_description)."</description>\n";
$out .= "<generator>Cotonti</generator>\n";
$out .= "<pubDate>".date("r", time())."</pubDate>\n";
if (count($items)>0)
{
    foreach($items as $item)
    {
        $out .= "<item>\n";
        $out .= "<title>".htmlspecialchars($item['title'])."</title>\n";
        $out .= "<description><![CDATA[".sed_convert_relative_urls($item['description'])."]]></description>\n";
        $out .= "<pubDate>".$item['pubDate']."</pubDate>\n";
        $out .= "<link><![CDATA[".$item['link']."]]></link>\n";
        $out .= "</item>\n";
    }
}
$out .= "</channel>\n";
$out .= "</rss>";
Вот так вчера работало, а сегодня почему-то не хочет:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
elseif ($c == "projects")
{
    // == All items ==
    $rss_title = $domain." : Заказы";
    $rss_description = "";
 
    $sql = "SELECT * FROM sed_projects WHERE item_state=0 ORDER BY item_date DESC LIMIT $cfg_maxitems ";
    $res = sed_sql_query($sql);
    $i = 0;
    while($row = mysql_fetch_assoc($res))
    {
        $items[$i]['title'] = $row['item_title'];
        $items[$i]['description'] = $row['item_text'];
        $items[$i]['link'] = SED_ABSOLUTE_URL.sed_url('plug', "e=projects&m=show&itemid=".$row['item_id']."");
        $items[$i]['pubDate'] = date('r', $row['item_date']);
        
        $i++;
    }
    
    
    
    $sqll = "SELECT * FROM sed_market as m
    LEFT JOIN sed_users AS u ON u.user_id=m.item_userid
    WHERE item_state=0 
    ORDER BY item_date DESC LIMIT $cfg_maxitems ";
    $ress = sed_sql_query($sqll);
    $k = count($items);
    while($roww = mysql_fetch_assoc($ress))
    {
        $items[$k]['title'] = $roww['item_title'];
        $items[$k]['description'] = $roww['item_text'];
        $items[$k]['link'] = SED_ABSOLUTE_URL.sed_url('plug', "e=market&m=show&itemid=".$roww['item_id']."");
        $items[$k]['pubDate'] = date('r', $roww['item_date']);
        
        $k++;
    }
    
    
}
Добавлено через 13 минут
Сейчас выложил проекты в оба раздела, в первый раздел (первая часть кода) сразу же передалась в вк

а вот из другого раздела не хочет передаваться
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$sqll = "SELECT * FROM sed_market as m
    LEFT JOIN sed_users AS u ON u.user_id=m.item_userid
    WHERE item_state=0 
    ORDER BY item_date DESC LIMIT $cfg_maxitems ";
    $ress = sed_sql_query($sqll);
    $k = count($items);
    while($roww = mysql_fetch_assoc($ress))
    {
        $items[$k]['title'] = $roww['item_title'];
        $items[$k]['description'] = $roww['item_text'];
        $items[$k]['link'] = SED_ABSOLUTE_URL.sed_url('plug', "e=market&m=show&itemid=".$roww['item_id']."");
        $items[$k]['pubDate'] = date('r', $roww['item_date']);
        
        $k++;
    }
Что с этим куском кода может быть нетак? если смотреть RSS через браузер записи есть из обоих разделов, а в вк только из 1-го передается.
0
27.10.2012, 14:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2012, 14:51

Не получается объединить 2 запроса в один
Есть 2 запроса, работающие по отдельности как надо. Но после попытки объединить...

Не получается объединить линии в Autocad!
Не получается объединить линии в Autocad для получения целостной 3d-модели....

Не получается объединить работающие по отдельности функции
Народ вот у меня все три функции по отдельности работают, но когда я их пытаюсь...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru