PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Описание: Пытаюсь написать API для CMS Pagekit
Поиск в теме | Версия для печати
Иван Новиков
Отправлено: 05 Апреля, 2017 - 16:29:44
Новичок
Покинул форум
Сообщений всего: 4
Дата рег-ции: Апр. 2017
Помог: 0 раз(а)
Добрый день, форумчане.
Пытаюсь написать небольшое 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' ;
$on_suggestion = 1 ;
$query = "SELECT COUNT(*) FROM `pk_formmaker_submission`" ;
$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 " ;
{
echo $row [ 'data' ] ;
}
?>
Получаем JSON результат.
CODE (
text ):
скопировать код в буфер обмена
{"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" ;
$label = $response -> $vk -> label ;
$vk_link = $response -> $vk -> $data -> $data0 -> value ;
echo $label ;
echo $vk_link ;
?>
Но ничего не происходит... Помогите пожалуйста.
P.S.
Если, что простите
Мелкий
Отправлено: 05 Апреля, 2017 - 16:53:25
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009
Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Иван Новиков пишет: Но ничего не происходит...
Иван Новиков пишет: $response->$ vk->label;
E_NOTICE, вероятен E_FATAL
Почему вы их не видите - смотрите настройки error_reporting, display_errors
Иван Новиков
Отправлено: 05 Апреля, 2017 - 17:06:37
Новичок
Покинул форум
Сообщений всего: 4
Дата рег-ции: Апр. 2017
Помог: 0 раз(а)
Мелкий пишет: E_NOTICE, вероятен E_FATAL
Почему вы их не видите - смотрите настройки error_reporting, display_errors
Извините, профан полный в программировании. Мне нужно убрать $ чтобы получился просто vk? И где смотреть эти настройки. Спасибо.
(Добавление)
Мелкий пишет:
Иван Новиков пишет: $response->$ vk->label;
Извините, не подскажешь как это в код внедрить правильно? А то до меня не дойдет пока не увижу.
Иван Новиков
Отправлено: 16 Апреля, 2017 - 06:57:19
Новичок
Покинул форум
Сообщений всего: 4
Дата рег-ции: Апр. 2017
Помог: 0 раз(а)
Ребята, работаю над тем же проектом. Помогите понять, что не так? Почему-то не переводит слова. Я думал, что я как-то не так заполняю массив, может быть в массиве нельзя использовать переменные?
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 ) ;
$type_of_chocolate = str_ireplace ( $search , $replace , $type_of_chocolate ) ;
(Добавление)
Нашел ошибку. Надо было использовать array_merge.
Поиск в теме | Версия для печати
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
Powered by ExBB FM 1.0 RC1. InvisionExBB