@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 категории к которой относятся товары!
  • Вопрос задан
  • 57 просмотров
Пригласить эксперта
Ответы на вопрос 1
hrabry
@hrabry
А как мне быть если я хочу получить с одной категории, скажем /categories/1 все товары?


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

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

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

Войти через центр авторизации
Похожие вопросы
26 февр. 2021, в 22:16
10000 руб./за проект
26 февр. 2021, в 21:56
20000 руб./за проект