Как я могу сделать JSON с категорией в MySQL?

Мне нужно сделать страницу, которая показывает все элементы и при нажатии приводит меня все места, где это доступно.

мне нужно сделать это в MySQL

app.controller('namesCtrl', function($scope) {

$scope.items = [
{name: 'item1', place: ['place1', 'place2']},
{name: 'item2', place: ['place2', 'place3']},
{name: 'item3', place: ['place1', 'place2', 'place3']},
{name: 'item4', place: ['place1']},
{name: 'item5', place: ['place1', 'place2']}
];

});

мой php

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

$conn = new mysqli("localhost", "user", "pass", "table");

$result = $conn->query("SELECT * FROM `especialidades`");

$outp = "";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
if ($outp != "") {$outp .= ",";}

$outp .= '{"id":"'  . $rs["id"] . '",';
$outp .= '"nombre_especialidad":"'  . $rs["nombre_especialidad"] . '",';
$outp .= '"aguadilla":"'   . $rs["aguadilla"] . '",';
$outp .= '"arecibo":"'  . $rs["arecibo"] . '",';
$outp .= '"bayamon":"'    . $rs["bayamon"]        . '",';
$outp .= '"caguas":"'    . $rs["caguas"] . '",';
$outp .= '"carolina":"'    . $rs["carolina"] . '",';
$outp .= '"guayama":"'   . $rs["guayama"] . '",';
$outp .= '"hato_rey":"' . $rs["hato_rey"] . '"}';
}
$outp ='{"especialidades":['.$outp.']}';
$conn->close();

echo($outp);
?>

Я получаю много ошибок.

Как правильно сделать это в MySQL и получить его в JSON.

0

Решение

Ваш код должен быть таким

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

$conn = new mysqli("localhost", "user", "pass", "table");

$result = $conn->query("SELECT id, nombre_especialidad,aguadilla,arecibo, bayamon,caguas,carolina,guayama,hato_rey FROM `especialidades`");

$outp = "";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
$outArray["especialidades"][] = $rs;
}
$conn->close();
$outp = json_encode($outArray);
echo $outp;
?>

Надеюсь, что это поможет вам!!

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]