如何从特定字段的数据库中筛选json数据?
这是我的儿子
[
{
"Car_No":"25",
"Car_Model":"car1",
"Car_Type":"car2",
"Capacity":"12",
"Image":"carkila.esy.es\/upload\/20160811031546.png",
"fuelType":"Diesel",
"carPlatenuNumber":"qwe - 123",
"carStatus":null,
"owner":"owner"
},
{
"Car_No":"24",
"Car_Model":"car",
"Car_Type":"car2",
"Capacity":"123",
"Image":"carkila.esy.es\/upload\/20160808114541.png",
"fuelType":"Biofuels (biodiesel and bioethanol)",
"carPlatenuNumber":"qwe - 123",
"carStatus":null,
"owner":"owner"
},
{
"Car_No":"23",
"Car_Model":"fortuner",
"Car_Type":"suv",
"Capacity":"56",
"Image":"carkila.esy.es\/upload\/20160805104115.png",
"fuelType":"Super unleaded petrol",
"carPlatenuNumber":"xxx888",
"carStatus":null,
"owner":"owner"
},
{
"Car_No":"22",
"Car_Model":"seannnn",
"Car_Type":"seanyboy",
"Capacity":"12",
"Image":"carkila.esy.es\/upload\/20160805091944.png",
"fuelType":"Biofuels (biodiesel and bioethanol)",
"carPlatenuNumber":"hjk123",
"carStatus":null,
"owner":"sean"
},
{
"Car_No":"21",
"Car_Model":"cars",
"Car_Type":"car1",
"Capacity":"12",
"Image":"carkila.esy.es\/upload\/20160805091429.png",
"fuelType":"Premium unleaded",
"carPlatenuNumber":"qwe321",
"carStatus":null,
"owner":"owner"
},
{
"Car_No":"20",
"Car_Model":"car",
"Car_Type":"car1",
"Capacity":"123",
"Image":"https:\/\/www.enterprise.ca\/content\/dam\/global-vehicle-images\/cars\/CHRY_200_2015.png",
"fuelType":"Biofuels (biodiesel and bioethanol)",
"carPlatenuNumber":"qwe123",
"carStatus":null,
"owner":"owner"
}
]我想要它像http://carkila.esy.es/user.php?owner=sean,它将过滤所有的所有者,有肖恩在其中。
这是我的json转换代码。
<?PHP
include_once("connection.php");
session_start();
$query = "SELECT * FROM tbl_cars ORDER BY Car_No DESC";
$result = mysqli_query($conn, $query);
while ($row = mysqli_fetch_assoc($result)) {
$data[] = $row;
}
echo json_encode($data);
?>谢谢各位:)
发布于 2016-08-15 05:29:41
<?PHP
include_once("connection.php");
session_start();
$where = ''
if (isset($_GET['owner'])){
$where = " WHERE owner like '%".addslashes($_GET['owner'])."%'";
}
$query = "SELECT * FROM tbl_cars ".$where." ORDER BY Car_No DESC";
$result = mysqli_query($conn, $query);
while ($row = mysqli_fetch_assoc($result)) {
$data[] = $row;
}
echo json_encode($data);
?>发布于 2016-08-15 05:41:37
如果您试图使用包含owner的查询字符串根据对JSON转换脚本的请求对dataset进行筛选,我建议使用数据库过滤结果集,而不是在数据被迭代之后过滤掉它。
user.php?owner=sean
<?php
require_once __DIR__ . '/connection.php';
session_start();
$owner = isset($_GET['owner']) ? $_GET['owner'] : null;
$query = 'SELECT * FROM tbl_cars';
if (isset($owner)) {
$query .= ' WHERE owner = ?';
}
$query .= ' ORDER BY Car_No DESC';
$stmt = mysqli_prepare($conn, $query);
if (isset($owner)) {
mysqli_stmt_bind_param($stmt, 's', $owner);
}
mysqli_stmt_execute($stmt);
$data = array();
if ($result = mysqli_stmt_get_result($stmt)) {
while ($row = mysqli_fetch_assoc($result)) {
$data[] = $row;
}
}
echo json_encode($data);如果要查找包含单词sean的所有者,请用以下方式替换WHERE语句。
$query .= ' WHERE owner LIKE ?';并将mysqli_stmt_bind_param替换为
mysqli_stmt_bind_param($stmt, 's', '%' . $owner . '%');结果:
[
{
"Car_No":"22",
"Car_Model":"seannnn",
"Car_Type":"seanyboy",
"Capacity":"12",
"Image":"carkila.esy.es\/upload\/20160805091944.png",
"fuelType":"Biofuels (biodiesel and bioethanol)",
"carPlatenuNumber":"hjk123",
"carStatus":null,
"owner":"sean"
}
]https://stackoverflow.com/questions/38948175
复制相似问题