Категории JSON API зависят от значения столбца - PullRequest
0 голосов
/ 03 мая 2018

Я пытаюсь создать JSON API для таблицы из 100 каналов, и есть столбец cat, который содержит тип или категорию каждого канала.

Итак, у меня есть 4 категории (музыка, аниме, сериалы, фильмы), у каждого канала есть одна из этих категорий в столбце cat.

Я пытаюсь создать JSON start с массива, и внутри массива есть 4 объекта категорий, о которых я упоминал выше, и внутри каждого объекта есть массив для каналов, принадлежащих этому объекту, например, в музыкальном объекте есть Массив каналов для всех каналов содержит музыку в столбце cat и т. д.

PHP

header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");

include_once 'dbconfig.php';

$database = new Database();
$db = $database->getConnection();

$channels = new Channels($db);

$stmt = $channels->read();
$num = $stmt->rowCount();

if($num>0){

    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){

        $cat1=$row['cat'];

        $query2 = "SELECT
                *
            FROM
                channels 
                WHERE cat=$cat1
                ";

        $stmt2 = $db->prepare($query2);

        $stmt2->execute();

        foreach ($stmt2 as $row2) {

        $id=$row2['id'];
        $title=$row2['title'];
        $image=$row2['image'];
        $streamname=$row2['streamname'];
        $enable=$row2['enable'];    
        $cat=$row2['cat'];      
        $app=$row2['app'];

        $channels_item[] = array(
            "id" => $id,
            "title" => $title,
            "image" => html_entity_decode($image),
            "streamname" => $streamname,
            "enable" => $enable,
            "cat" => $cat,
            "app" => $app,
            );
        }

        $channels_item2[] = array(
            "cat" => $cat1,
            "cat_ar" => $cat_ar,
            "channels" => $channels_item,
        );
    }
    echo json_encode($channels_item2);
}

else{
    echo json_encode(
        array("message" => "No products found.")
    );
}

class Channels{

    private $conn;
    private $table_name = "channels";

    public $id;
    public $title;
    public $image;
    public $streamname;
    public $enable;
    public $cat;
    public $app;

    public function __construct($db){
        $this->conn = $db;
    }
function read(){

    $query = "SELECT
                cat
            FROM
                " . $this->table_name . " 
                WHERE app in ('live','live2')
                GROUP BY cat
                ";

        $stmt = $this->conn->prepare($query);

        $stmt->execute();

    return $stmt;
}
}

результат, который я получил:

[
{
cat: "music",
channels: null
},
{
cat: "anime",
channels: null
},
{
cat: "series",
channels: null
},
{
cat: "movies",
channels: null
}
]

массивы каналов равны нулю, как вы видите почему они равны нулю и не могут отображать музыкальные каналы в музыкальном коте, а также отображать каналы в кинофильмах - в кошке фильмов и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...