Я пытаюсь создать 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
}
]
массивы каналов равны нулю, как вы видите
почему они равны нулю и не могут отображать музыкальные каналы в музыкальном коте, а также отображать каналы в кинофильмах - в кошке фильмов и т. д.