2016-08-15 8 views
0

特定のフィールドのデータベースからjsonデータをフィルタリングするにはどうすればよいですか?URLでjsonをフィルタリングする方法は?

は、ここで私はそれがhttp://carkila.esy.es/user.php?owner=seanのようになりたいと、それはそれでショーンを持っているすべての所有者をフィルタします私の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" 
    } 
] 

です。

ここは私の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); 

?> 

みんなありがとう:)

+1

は 'WHERE'句 – Ghost

+0

@Ghostを使用してそれに応じてクエリを変更 - それはまたうまくいくが、私は望んでいましたそれがURLにあることは可能でしょうか?なぜなら、私のアンドロイドコードでURLをフィルタリングする必要があるからです。 –

+1

urlのクエリ文字列に基づいてWHERE句内の供給基準 – Ghost

答えて

1
<?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); 

?> 
1

あなたがownerを含むクエリ文字列を使用してJSONの変換スクリプトへの要求に基づいてデータセットをフィルタ処理しようとしている場合、私はフィルタリングするデータベースを使用することをお勧めすでにデータが反復された後にデータをフィルタリングするのではなく、結果セットを取り出すことができます。

user.php?所有者=ショーン

<?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); 

あなたは言葉seanWHERE文を置き換えるが含まれている所有者を探しているなら。

$query .= ' WHERE owner LIKE ?'; 

mysqli_stmt_bind_param($stmt, 's', '%' . $owner . '%'); 

結果とmysqli_stmt_bind_paramを置き換える:

[ 
    { 
     "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" 
    } 
] 
関連する問題