@Chesterfield25

Rest api как получить материалы из категории?

Пытаюсь создать простое rest api на чистом php

index.php

<?php

header('Content-type: json/application');
require 'connect.php';
require 'functions.php';

$q = ($_GET['q']);
$params = explode('/', $q);

$type = $params[0];
$id = $params[1];

if($type === 'typs'){
	
	if(isset($id)){
		getTyp($connect, $id);
	} else{
		getTyps($connect);
	}
}

$categorie = $params[0];
$id = $params[1];

if($categorie === 'categories'){
	
	if(isset($id)){
		getCategorie($connect, $id);
	} else{
		getCategories($connect);
	}
}

?>


function.php

<?php

function getTyps($connect){
	$typs = mysqli_query($connect, "SELECT * FROM `w_types`");
    $typsList = [];
    while($typ = mysqli_fetch_assoc($typs)){
	$typsList[] = $typ;
    }
    echo json_encode($typsList);
}

function getTyp($connect, $id){
	$typ = mysqli_query($connect, "SELECT * FROM `w_types` WHERE `id` = '$id'");
    
	if(mysqli_num_rows($typ) === 0){
		http_response_code(404);
		$res = [
		"status" => false,
		"message" => "Post not found"
		];
		
		echo json_encode($res);
	}else{
		$typ = mysqli_fetch_assoc($typ);
        echo json_encode($typ);
	}
	
	
}

function getCategories($connect){
	$categories = mysqli_query($connect, "SELECT * FROM `w_faucetpay_categories`");
    $categoriesList = [];
    while($categorie = mysqli_fetch_assoc($categories)){
	$categoriesList[] = $categorie;
    }
    echo json_encode($categoriesList);
}

function getCategorie($connect, $id){
	$categorie = mysqli_query($connect, "SELECT * FROM `w_faucetpay_categories` WHERE `id` = '$id'");
    
	if(mysqli_num_rows($categorie) === 0){
		http_response_code(404);
		$res = [
		"status" => false,
		"message" => "Post not found"
		];
		
		echo json_encode($res);
	}else{
		$categorie = mysqli_fetch_assoc($categorie);
        echo json_encode($categorie);
	}
	
	
}

?>


По url site.ru/api/appfaucetlist/typs
я получаю все разделы.
По url site.ru/api/appfaucetlist/typs/1
я получаю один раздел.

По url site.ru/api/appfaucetlist/categories
я получаю все категории.
По url site.ru/api/appfaucetlist/categories/1
я получаю одну категорию.

А как мне быть если я хочу получить с одной категории, скажем /categories/1 все товары?

В бд есть две таблицы

w_categories с такими данными

id
type_id
title

w_list с такими данными

id
category_id
title

Где type_id это id раздела к которому относится категории, а category_id это id категории к которой относятся товары!
  • Вопрос задан
  • 72 просмотра
Пригласить эксперта
Ответы на вопрос 1
hrabry
@hrabry
А как мне быть если я хочу получить с одной категории, скажем /categories/1 все товары?


Из роута взять 1 это id категории и SQL запросом получить товары у которых id категории = 1.

На чистом php хз конечно, мб лучше взять минималистичный фреймворк на подобии siler
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы