API JSON

azkaban

Постоялец
Регистрация
16 Мар 2015
Сообщения
144
Реакции
10
Всем привет.
Знающие ребята подскажите пожалуйста как реализовать для своего сайта API на JSON.
Есть база с видео и нужно как-то реализовать API чтобы люди могли делать модули для парсинга видео.
 
Как как? Обычно.

Делаешь контроллеры, типа /api/getvideo
Там код echo json_encode($videos)

Делаешь параметры чтобы можно было передавать для выборки

Тот же сайт, только без html, чтобы парсить было удобнее
 
Последнее редактирование:
Hello,

in php we usually do this:
Код:
<?php
class api {
    public function getVideos()
    {
        //Replace this with your db query
        $videos = array(
            (object) array(
                'id' => 1,
                'video' => 'https://www.youtube.com/watch?v=a5FWdU4eDUE'
            ),
            (object) array(
                'id' => 2,
                'video' => 'https://www.youtube.com/watch?v=dQ_-tUKT-nY'
            )
        );
        return json_encode($videos);
    }

    //Just an example of the reverse
    public function parseVideos()
    {
        $json = $this->getVideos();
        return json_decode($json);
    }
}

$API = new api();

//Json
var_dump($API->getVideos());

echo '<hr>';

//PHP Array
print_r($API->parseVideos());
?>
 
Как как? Обычно.

Делаешь контроллеры, типа /api/getvideo
Там код echo json_decode($videos)

Делаешь параметры чтобы можно было передавать для выборки

Тот же сайт, только без html, чтобы парсить было удобнее
Сколько будет стоить данная разработка?
Может есть какие пошаговые мануалы?
<-------------- добавлено через 9049 сек. -------------->
Hello,

in php we usually do this:
Код:
<?php
class api {
    public function getVideos()
    {
        //Replace this with your db query
        $videos = array(
            (object) array(
                'id' => 1,
                'video' => 'https://www.youtube.com/watch?v=a5FWdU4eDUE'
            ),
            (object) array(
                'id' => 2,
                'video' => 'https://www.youtube.com/watch?v=dQ_-tUKT-nY'
            )
        );
        return json_encode($videos);
    }

    //Just an example of the reverse
    public function parseVideos()
    {
        $json = $this->getVideos();
        return json_decode($json);
    }
}

$API = new api();

//Json
var_dump($API->getVideos());

echo '<hr>';

//PHP Array
print_r($API->parseVideos());
?>
Thank you,
But I can not understand the API implementation function itself.
What is where and why.
 
Можешь написать мне в ЛС или в Вк. Могу глянуть.
 
Попробовал реализовать, но в процессе возникло много дополнительных вопросов.
Вот код:
Код:
<?php

    $db =
    mysql_connect('localhost','user','pass') or die('');
    mysql_select_db('name_db') or die ('');
    $query = mysql_query("SELECT * FROM `dle_block`,`dle_block`");
    $result = mysql_fetch_assoc($query);
    if($result){
        $result= [
        'video_id' => $result['video_id'],
        'title' => $result['title'],
        'description' => $result['description'],
        'duration' => $result['duration'],
        'file_size' => $result['file_size'],
        'file_dimensions' => $result['file_dimensions'],
        'tag' => $result['tag'],
        ];
        echo json_encode($result);
    }

?>
Почему отображается только один файл? А не все, которые есть на сайте.
Как прикрепить отображение ссылки на новость?
Как отобразить категорию в которой есть новость?
Помогите пожалуйста.
<-------------- добавлено через 3331 сек. -------------->
Вы выбираете из выборки только первую запись. Нужно обернуть в while($result = mysql_fetch_assoc($query)) { }
Спасибо помогло, но в валидаторе выдало ошибку.
Код:
Error: Parse error on line 9:
..."tag": "BLABLA"} {    "video_id": "29",
----------------------^
Expecting 'EOF', '}', ',', ']', got '{'
И почему-то в тайтлах знаки вопросов
 
Спасибо помогло, но в валидаторе выдало ошибку.
Код:
Error: Parse error on line 9:
..."tag": "BLABLA"} {    "video_id": "29",
----------------------^
Expecting 'EOF', '}', ',', ']', got '{'
И почему-то в тайтлах знаки вопросов

$result - должен быть массив, то есть $result[] = [.. ];
 
echo json_encode($result); - в конце, один раз, а не при каждой итерации

PHP:
$out = [];
while($result = mysql_fetch_assoc($query)) {
    $out[] = [
        'video_id' => $result['video_id'],
        'title' => $result['title'],
        'description' => $result['description'],
        'duration' => $result['duration'],
        'file_size' => $result['file_size'],
        'file_dimensions' => $result['file_dimensions'],
        'tag' => $result['tag'],
        ];
}

echo json_encode($out);
 
echo json_encode($result); - в конце, один раз, а не при каждой итерации

PHP:
$out = [];
while($result = mysql_fetch_assoc($query)) {
    $out[] = [
        'video_id' => $result['video_id'],
        'title' => $result['title'],
        'description' => $result['description'],
        'duration' => $result['duration'],
        'file_size' => $result['file_size'],
        'file_dimensions' => $result['file_dimensions'],
        'tag' => $result['tag'],
        ];
}

echo json_encode($out);
После или перед?
 
echo json_encode($result); - в конце, один раз, а не при каждой итерации

PHP:
$out = [];
while($result = mysql_fetch_assoc($query)) {
    $out[] = [
        'video_id' => $result['video_id'],
        'title' => $result['title'],
        'description' => $result['description'],
        'duration' => $result['duration'],
        'file_size' => $result['file_size'],
        'file_dimensions' => $result['file_dimensions'],
        'tag' => $result['tag'],
        ];
}

echo json_encode($out);
Все равно выходит что повторения идут и ошибка та же.
<-------------- добавлено через 100 сек. -------------->
$result - должен быть массив, то есть $result[] = [.. ];
выдало:
nullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnull
<-------------- добавлено через 76 сек. -------------->
echo json_encode($result); - в конце, один раз, а не при каждой итерации

PHP:
$out = [];
while($result = mysql_fetch_assoc($query)) {
    $out[] = [
        'video_id' => $result['video_id'],
        'title' => $result['title'],
        'description' => $result['description'],
        'duration' => $result['duration'],
        'file_size' => $result['file_size'],
        'file_dimensions' => $result['file_dimensions'],
        'tag' => $result['tag'],
        ];
}

echo json_encode($out);
все равно выдало ошибку и повторения идут.
$result - должен быть массив, то есть $result[] = [.. ];
выдало:
nullnullnullnullnullnullnullnullnullnullnullnull...
<-------------- добавлено через 4320 сек. -------------->
проверка
 
Назад
Сверху