Помогите с API

MrFallen

Новичок
Добрый день, форумчане.
Пытаюсь написать небольшое API для CMS Pagekit, но как-то не очень получается, а именно не могу выдернуть информацию со своего API и не могу понять, ошибка в API или в коде, который пытается получить информацию.

Ссылка на добавление информации в базу.

Ссылка на API. В конце просто указываем 1, 2, 3 и т.д.

А теперь код...
Файл suggestions.php, который лежит в папке api.
PHP:
<?php
$host = 'localhost';
$database = 'db_simple';
$user = 'db_simple';
$password = 'db_simple_pass';

$sql = mysqli_connect($host, $user, $password, $database)
    or die("Ошибка " . mysqli_error($link));

$on_suggestion = 1;

$query = "SELECT COUNT(*) FROM `pk_formmaker_submission`";
$res = mysqli_query($sql, $query);
$count_records = mysqli_fetch_row($res);
$count_records = $count_records[0];

$num_suggestions = ceil($count_records / $on_suggestion);

$current_suggestion = isset($_GET['suggestion']) ? (int)$_GET['suggestion'] : 1;

if ($current_suggestion < 1)
{
    $current_suggestion = 1;
}

elseif ($current_suggestion > $num_suggestions)
{
    $current_suggestion = $num_suggestions;
}

$start_from = ($current_suggestion - 1) * $on_suggestion;

$query = "SELECT `id`, `status`, `data`, `created` FROM `pk_formmaker_submission` ORDER BY `created` DESC LIMIT $start_from, $on_suggestion";
$res = mysqli_query($sql, $query);

while ($row = mysqli_fetch_assoc($res))
{
    echo $row['data'];
}

?>
Получаем JSON результат.
Код:
{"vk":{"field":{"id":1,"form_id":2,"priority":1,"type":"sitelink","label":"\u0412\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435","slug":"vk","options":[],"data":{"value":[""],"data":{"data0":{"value":"","link_text":"","blank":0}},"classSfx":"","help_text":"","help_show":"","hasOptions":0,"max_repeat":10,"blank_default":0,"link_text_default":"","href_class":"","multiple":1,"placeholder":"\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: https:\/\/vk.com\/2fe_ru","controls":false,"required":false},"roles":[],"value":[""],"valuedata":{"data0":{"value":"","link_text":"","blank":0}},"formatted":{"data0":"-"}},"slug":"vk","type":{"id":"sitelink","label":"Website link","hasOptions":0,"required":-1,"multiple":1,"controls":-1,"repeatable":-1,"max_repeat":10,"blank_default":0,"link_text_default":"","href_class":""},"label":"\u0412\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435","value":["https:\/\/vk.com\/mrfallen92"],"formatted":{"data0":"-"},"data":{"data0":{"value":"https:\/\/vk.com\/mrfallen92","link_text":"","blank":0}},"field_id":1},"description":{"field":{"id":2,"form_id":2,"priority":2,"type":"textbox","label":"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u043a\u0446\u0438\u0438 \u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f","slug":"description","options":[],"data":{"value":[],"data":[],"classSfx":"","help_text":"","help_show":"","hasOptions":0,"minLength":100,"maxLength":3000,"rows":4,"placeholder":"\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0432\u0430\u0448\u0435\u0439 \u0430\u043a\u0446\u0438\u0438 \u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f","multiple":0,"controls":null,"repeatable":null},"roles":[],"value":[],"valuedata":[],"formatted":[]},"slug":"description","type":{"id":"textbox","label":"Text area","hasOptions":0,"required":-1,"multiple":0,"minLength":0,"maxLength":0,"rows":0,"placeholder":""},"label":"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u043a\u0446\u0438\u0438 \u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f","value":["\u0417\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u043a\u0446\u0438\u0438 \u0417\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u043a\u0446\u0438\u0438 \u0417\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u043a\u0446\u0438\u0438 \u0417\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u043a\u0446\u0438\u0438 \u0417\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u043a\u0446\u0438\u0438"],"formatted":[],"data":[],"field_id":2}}
Пытаемся выдернуть информацию, например ссылку и текст - "Вконтакте".
PHP:
    <?php
        $json="https://2fe.ru/api/suggestions.php?suggestion=2";
        $response = json_decode(file_get_contents($json,true));

        $label = $response->$vk->label;
        $vk_link = $response->$vk->$data->$data0->value;
     
                                                 
        echo $label;
        echo $vk_link;

    ?>
Но ничего не происходит... Помогите пожалуйста.

P.S.
Если, что простите :(
 

antson

Новичок
Партнер клуба
все дело в отключенных сообщениях об ошибках
А также ДЕНЬГИ ЗЛО
отдай мне лишний бакс, что у тебя в строке ;)
 

antson

Новичок
Партнер клуба

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

MrFallen

Новичок
Ребята, работаю над тем же проектом. Помогите понять, что не так? Почему-то не переводит слова. Я думал, что я как-то не так заполняю массив, может быть в массиве нельзя использовать переменные?
PHP:
                    //Строки с английскими словами
                    $ingredients_lang_en = array('only_chocolate','lingonberry','blueberries','goji','strawberry','peanut','hazelnut','gretsky');
                    $type_of_chocolate_lang_en = array('bitter','lactic','caramel','strawberrychoco');
                    $decor_lang_en = array('standart','birthday','wedding','new_year','office_party');
                    $for_whom_lang_en = array('for_all','for_her','for_him','for_myself','for_the_company');
                   
                    //Строки с русскими словами
                    $ingredients_lang_ru = array('Только шоколад','Брусника','Черника','Годжи','Клубника','Арахис','Фундук','Грецкий орех');
                    $type_of_chocolate_lang_ru = array('Горький','Молочный','Карамельный','Клубничный');
                    $decor_lang_ru = array('Стандартное','День рождение','Свадьба','Новый год','Корпоратив');
                    $for_whom_lang_ru = array('Для всех','Для неё','Для него','Для себя','Для компании');
                   
                    //Поиск и замена слов
                    $search = array($ingredients_lang_en,$type_of_chocolate_lang_en,$decor_lang_en,$for_whom_lang_en);
                    $replace = array($ingredients_lang_ru,$type_of_chocolate_lang_ru,$decor_lang_ru,$for_whom_lang_ru);
                   
                    $ingredients = str_ireplace($search,$replace,$ingredients);
                    $type_of_chocolate = str_ireplace($search,$replace,$type_of_chocolate);
                    $decor = str_ireplace($search,$replace,$decor);
                    $for_whom = str_ireplace($search,$replace,$for_whom);
 
Последнее редактирование:

WMix

герр M:)ller
Партнер клуба
можно сильно упростить жизнь если изменить структуру.
PHP:
$ingredients = ['only_chocolate' => 'Только шоколад',...];
echo $ingredients['only_chocolate'];
 

MrFallen

Новичок
можно сильно упростить жизнь если изменить структуру.
PHP:
$ingredients = ['only_chocolate' => 'Только шоколад',...];
echo $ingredients['only_chocolate'];
Спасибо. Так действительно лучше но, а если я получаю массив в формате JSON. Там только английские слова. Русских нет. Что делать?
 
Последнее редактирование:
Сверху