За последние 24 часа нас посетили 30453 программиста и 1805 роботов. Сейчас ищут 836 программистов ...

Вк новости + из базы

Тема в разделе "PHP для новичков", создана пользователем Kela, 27 янв 2017.

  1. anderstender

    anderstender Новичок

    С нами с:
    15 ноя 2016
    Сообщения:
    55
    Симпатии:
    25
    весь код бахни
     
    Kela нравится это.
  2. Kela

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

    С нами с:
    20 дек 2014
    Сообщения:
    84
    Симпатии:
    1
    все ок. вроде бы)
    PHP:
    1. include 'write_cache1.php';
    2. foreach($aNews as $aItem){
    3. $date = date("Y-m-d H:i:s", $aItem['date']);
    4. echo $aItem['type'] . '&emsp;' . $aItem['text'] . $aItem['short_story'] . '<br>' . $date . '<br>';
    5. }
    6. include 'read_cache1.php';
    --- Добавлено ---
    Да все работает)
    --- Добавлено ---
    Будет время загляните)
    https://php.ru/forum/threads/shans-na-vypadenija-veschi.61627/
     
  3. Kela

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

    С нами с:
    20 дек 2014
    Сообщения:
    84
    Симпатии:
    1
    Поправил код. Хочу добавить новый параметр но он не берется..(TITLE)
    Код (PHP):
    1. <?php
    2. define ( 'DATALIFEENGINE', true );
    3. //include($_SERVER['DOCUMENT_ROOT'] . '/engine/modules/functions.php');
    4. include($_SERVER['DOCUMENT_ROOT'] . '/engine/api/api.class.php');
    5.  
    6. /* настройки */
    7.  
    8. $cat = '0,1,2,3,4,5,6';                                  // - категории новостей, через запятую
    9. $fields = 'date,short_story,title';       // перечень получаемых полей новостей или * для всех
    10. $start = '0';                                 // начальное значение выборки
    11. $limit = '5';                                  // количество новостей для выборки, 0 - выбрать все новости
    12. $sort = 'date';                                  // поле, по которому осуществляется сортировка
    13. $sort_order = 'desc';                           // направление сортировки
    14. $length_text = '222';         // длина обрезания текста, оставляем без указания тект будет выводиться весь
    15.  
    16. $row = $dle_api->take_news($cat, $fields,$start,$limit,$sort,$sort_order);
    17.  
    18. $i = 0;
    19. $aDBNews = array();
    20. while($row[$i] != "")
    21. {
    22. $title = $row[$i]['title'];
    23. $row[$i]['date'] = strtotime($row[$i]['date']);
    24. $aDBNews[] = $row[$i];
    25.     $i++;
    26. }
    27.  
    28.   $wall = file_get_contents("https://api.vk.com/method/wall.get?owner_id=-58395417&count=5&filter=owner&extended=1&v=5.62"); // Отправляем запрос
    29.   $wall=json_decode($wall, true);
    30.   $wall = $wall['response']['items'];
    31.  
    32. $wall = array_map(function($aItem){
    33. $aItem['type'] = 'VK';
    34. return $aItem;
    35. }, $wall);
    36.  
    37. $aDBNews= array_map(function($aItem){
    38. $aItem['type'] = 'SITE'.var_dump($title).'';
    39. return $aItem;
    40. }, $aDBNews);
    41.  
    42. $aNews=array_merge($aDBNews,$wall);
    43. usort($aNews, function($aItem1, $aItem2){
    44.    return (($aItem1['date'] < $aItem2['date']) ? 1 : (($aItem1['date'] == $aItem2['date']) ? 0 : -1)) ;
    45. });
    46. //include 'write_cache.php';
    47. foreach($aNews as $aItem){
    48. $date = date("Y-m-d H:i:s", $aItem['date']);
    49. echo $aItem['type'] . '&emsp;' . $aItem['text'] . $aItem['short_story'] . '<br>' . $date . '<br>';
    50. }
    51. //include 'read_cache.php';
    52. ?>
    Выводит NULL
     
  4. Kela

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

    С нами с:
    20 дек 2014
    Сообщения:
    84
    Симпатии:
    1
  5. anderstender

    anderstender Новичок

    С нами с:
    15 ноя 2016
    Сообщения:
    55
    Симпатии:
    25
    мэн, нет желания разбираться как работает DataLife Engine, я щас на работе, и вечером буду работать, будет желание и время - помогу.
    И, пожалуйста, не стоит меня призывать, я не личный помощник :)
     
  6. Kela

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

    С нами с:
    20 дек 2014
    Сообщения:
    84
    Симпатии:
    1
    Окей, спасибо
     
  7. Kela

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

    С нами с:
    20 дек 2014
    Сообщения:
    84
    Симпатии:
    1
    Молодые люди кто поможет?
     
  8. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Если ты об этом куске
    PHP:
    1. while($row[$i] != "")
    2. {
    3. $title = $row[$i]['title'];
    4. $row[$i]['date'] = strtotime($row[$i]['date']);
    5. $aDBNews[] = $row[$i];
    6.    $i++;
    7. }
    то во-первых, если ты 10 раз перезапишешь переменную $title - её значение будет равным значению последней итерации, а во-вторых - скорее всего, нужно определиться с областью видимости этой переменной. Как я понимаю, ты к ней обращаешся здесь:
    PHP:
    1. $aDBNews= array_map(function($aItem){
    2. $aItem['type'] = 'SITE'.var_dump($title).'';
    3. return $aItem;
    4. }, $aDBNews);
    А функция не видит просто так внешние переменные. Попробуй в начале ф-ции написать global ($title);

    P/S Если хочешь получить массив со значениями каждого $title замени в цикле $title = ... на $title[] = ...
     
    Kela нравится это.
  9. Kela

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

    С нами с:
    20 дек 2014
    Сообщения:
    84
    Симпатии:
    1
    Так? = Не работает
    Код (PHP):
    1. <?php
    2. define ( 'DATALIFEENGINE', true );
    3. //include($_SERVER['DOCUMENT_ROOT'] . '/engine/modules/functions.php');
    4. include($_SERVER['DOCUMENT_ROOT'] . '/engine/api/api.class.php');
    5.  
    6. /* настройки */
    7.  
    8. $cat = '0,1,2,3,4,5,6';                                  // - категории новостей, через запятую
    9. $fields = 'date,short_story,title';       // перечень получаемых полей новостей или * для всех
    10. $start = '0';                                 // начальное значение выборки
    11. $limit = '5';                                  // количество новостей для выборки, 0 - выбрать все новости
    12. $sort = 'date';                                  // поле, по которому осуществляется сортировка
    13. $sort_order = 'desc';                           // направление сортировки
    14. $length_text = '222';         // длина обрезания текста, оставляем без указания тект будет выводиться весь
    15.  
    16. $row = $dle_api->take_news($cat, $fields,$start,$limit,$sort,$sort_order);
    17.  
    18. $i = 0;
    19. $aDBNews = array();
    20. while($row[$i] != "")
    21. {
    22. $title[] =     $row[$i]['title'];
    23. $row[$i]['date'] = strtotime($row[$i]['date']);
    24. $aDBNews[] = $row[$i];
    25.     $i++;
    26. }
    27.  
    28.   $wall = file_get_contents("https://api.vk.com/method/wall.get?owner_id=-58395417&count=5&filter=owner&extended=1&v=5.62"); // Отправляем запрос
    29.   $wall=json_decode($wall, true);
    30.   $wall = $wall['response']['items'];
    31.  
    32. $wall = array_map(function($aItem){
    33. $aItem['type'] = '/launcher/news/vk.png';
    34. $aItem['title'] = 'ZOOMCRAFT – Майнкрафт сервера! ©';
    35. return $aItem;
    36. }, $wall);
    37.  
    38. $aDBNews= array_map(function($aItem){
    39. $aItem['type'] = '/launcher/news/site.png';
    40. $aItem['title'] = $title;
    41. return $aItem;
    42. }, $aDBNews);
    43.  
    44. $aNews=array_merge($aDBNews,$wall);
    45. usort($aNews, function($aItem1, $aItem2){
    46.    return (($aItem1['date'] < $aItem2['date']) ? 1 : (($aItem1['date'] == $aItem2['date']) ? 0 : -1)) ;
    47. });
    48. //include 'write_cache.php';
    49. echo '
    50. <!DOCTYPE html>
    51. <html>
    52. <head>
    53.    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    54.    <meta name="viewport" content="width=device-width, initial-scale=1" />
    55.    <link rel="stylesheet" href="/launcher/news/style.css">
    56.    <link rel="stylesheet" href="/launcher/news/jquery.mCustomScrollbar.css">
    57. </head>
    58. <style>
    59. *{
    60.    margin: 0px;
    61.    padding: 0px;
    62.    font-family: Helvetica;
    63. }
    64. ::-webkit-scrollbar-track {
    65. background-color:#fff;
    66. }
    67. body{
    68.    background: url("/launcher/news/bg.png") no-repeat fixed;
    69. }
    70. table td{
    71.    vertical-align: top;
    72. }
    73. .name{
    74.    font-size: 15px;
    75.    color: #fff;
    76.    margin-top: 7px;
    77. }
    78. .text{
    79.    margin: 0 7px;
    80.    color: #fff;
    81.    font-size: 16px;
    82. }
    83. </style>
    84. <body>';
    85. foreach($aNews as $aItem){
    86. $monthes = array(
    87.     1 => 'Января', 2 => 'Февраля', 3 => 'Марта', 4 => 'Апреля',
    88.     5 => 'Мая', 6 => 'Июня', 7 => 'Июля', 8 => 'Августа',
    89.     9 => 'Сентября', 10 => 'Октября', 11 => 'Ноября', 12 => 'Декабря'
    90. );
    91.  
    92. $date = (date('d ', $aItem['date']) . $monthes[(date('n', $aItem['date']))] . date(' Y в H:i', $aItem['date']));
    93. echo '    <table width="510px" border="0">
    94.        <tr>
    95.            <td width="64px" style="padding-left: 7px;">
    96.                <img src="'.$aItem['type'].'" width="50px" height="50px">
    97.            </td>
    98.            <td width="446px">
    99.                <div class="name">'.$aItem['title'].'<br/> '.$date.'</div>
    100.            </td>
    101.        </tr>
    102.        <tr>
    103.            <td colspan="2">
    104.                <div class="text">
    105. '. $aItem['text'] . $aItem['short_story'].'
    106.                </div>
    107.                <center><hr style="width: 90%; height: 0.5px; background: #fff; margin: 10px 0;"></center>
    108.            </td>
    109.        </tr>
    110.    </table>
    111.    ';
    112. //echo $aItem['type'] . '&emsp;' . $aItem['text'] . $aItem['short_story'] . '<br>' . $date . '<br>';
    113. }
    114. echo '
    115.    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    116.    <script src="/launcher/news/jquery.mCustomScrollbar.concat.min.js"></script>
    117.  
    118.    <script>
    119.        (function($){
    120.            $(window).load(function(){
    121.              
    122.                $("body").mCustomScrollbar({
    123.                    theme:"minimal-dark"
    124.                });
    125.              
    126.            });
    127.        })(jQuery);
    128.    </script>
    129. </body>
    130. </html>';
    131. //include 'read_cache.php';
    132. ?>
     
  10. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Стоп, так а зачем ты вообще создаёшь эту переменную? Сделай так:
    aItem[$i]['title'] = $row[$i]['title']; Там же где инициализируешь этот $title.
    --- Добавлено ---
    А потом выводи в цикле.
     
    Kela нравится это.
  11. Kela

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

    С нами с:
    20 дек 2014
    Сообщения:
    84
    Симпатии:
    1
    спс
     
  12. Kela

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

    С нами с:
    20 дек 2014
    Сообщения:
    84
    Симпатии:
    1
    Актуально. Выводит не нужную картинку. Как ограничить вывод картинок в новости?
    Пример:
    HTML:
    1. <p><img src=\"http://zoomcraft.ru/uploads/posts/2017-04/1492341391_bez_imeni-2_1_.jpg\" alt=\"\" width=\"1280\" height=\"720\" /></p>
     
    #37 Kela, 18 апр 2017
    Последнее редактирование модератором: 18 апр 2017