API JSON

И mysql_ не используй - устарело.
 
все равно выдало ошибку и повторения идут.

Через аякс запрашиваешь ?
Не знаю как в dle с контроллерами и акшенами, но в чистом процедурном php это примерно так:

1. Запрос

HTML:
    var id = null;

    $.ajax({
        url: "/my_action.php",
        type: "POST",
        data: {
            record_id: id,
        },
        dataType: "json",
        success: function (responseData, textStatus, jqXHR) {
            // см. что ответил сервер в консоли
            console.log(responseData);

        },
        error: function (jqXHR, textStatus, errorThrown) {
            console.log("Ошибка:  " + jqXHR.responseText);
        }
    });

2. Ответ сервера

PHP:
<?
// файл /my_action.php
// Заголовок ответа
header('Content-Type: application/json');

// Заворачиваем в try, чтобы в ответ не попали возможные ошибки в коде
try {
    // Твой код извлечения данных
    $db = mysql_connect('localhost', 'user', 'pass') or die('');
    mysql_select_db('name_db') or die('');

    $sql = "SELECT * FROM `dle_block`,`dle_block`";
   
    // Добавляем параметры из аякс-запроса, если нужно
    $id = (int) $_POST['record_id'];
    if ($id) {
        $sql .= ' WHERE id=' . $id;
    }

    $query = mysql_query($sql);

    // Помещаем в $out запись целиком
    $out = [];
    while ($out[] = mysql_fetch_assoc($query)) {}

    // Кодируем
    $response = json_encode($out);

    // Проверяем, что закодировалось без ошибок
    if (json_last_error() !== JSON_ERROR_NONE) {
        // Если ошибка, возвращаем сообщение об ошибке
        $response = json_encode([
            'error' => 'Ошибка кодирования в JSON: ' . json_last_error_msg()
        ]);
    }
} catch (\Exception $e) {
    // Ловим ошибки скрипта
    $response = json_encode([
        'error' => 'Ошибка в скрипте: "' . $e->getMessage() .'" | строка скрипта: ' . $e->getLine()
    ]);
}

/**
* Ответ - один раз в конце
*/
echo $response;
 
Последнее редактирование:
всем спасибо, вопрос решили.
 
Не долго была радость, понадобилось еще выводить строки и возникла проблема с лимитами.
Выходит у меня в коде указан лимит:
Код:
$videosdb = BiQuery1("*", "dle_site", array(array("news", 0, ">")), "news", "DESC", "{$news_limit}");
Когда я его пытаюсь удалить - {$news_limit} у меня выходит что просто белый экран.
 
"{$news_limit}" замени на "" и лимита не будет
 
Назад
Сверху