異なるSQLクエリに基づいてJSONを返すためのカスタムエンドポイントを作成しています - 私のアプリケーションから渡す複数のクエリ文字列に基づいてクエリが作成されます。私がやったことは、馬鹿げたことで、以下の結果が得られるのと同じ結果を得る良い方法があるかどうかを知りたがっています:PHPを使用してPDO sqlクエリにクエリ文字列を渡す
以下は、IF /クエリ文字列
if(isset($_GET['pt']) && !isset($_GET['c']) && !isset($_GET['sc']) && isset($_GET['size'])) {
$sql = "SELECT *
FROM product
INNER JOIN product_sizes
ON product.product_sku = product_sizes.affiliate_p_id
WHERE product_sizes.product_type IN (".$_GET['pt'].")
AND product_sizes.product_sizes IN (".$_GET['size'].")
GROUP BY product_sizes.affiliate_p_id
ORDER BY product.last_updated ASC
LIMIT 100";
} else {
$sql = "SELECT *
FROM product
INNER JOIN product_sizes
ON product.product_sku = product_sizes.affiliate_p_id
GROUP BY product_sizes.affiliate_p_id
ORDER BY product.last_updated ASC
LIMIT 100";
}
$result = $pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC);
$return = array();
foreach ($result as $row) {
$return[] = array(
'affiliate_p_id' => $row['affiliate_p_id'],
'affiliate_id' => $row['affiliate_id'],
'product_colours' => $row['product_colours'],
'product_sub_category' => $row['product_sub_category'],
'merchant_name' => $row['merchant_name'],
'product_type' => $row['product_type'],
'product_sizes' => $row['product_sizes'],
'product_name' => $row['product_name'],
'sale_price' => $row['sale_price'],
'rrp_price' => $row['rrp_price'],
'product_image' => $row['product_image'],
'product_slug' => $row['product_slug']
);
}
$dbh = null;
header('Content-type: application/json');
echo json_encode($return);
のような小さな部分にそれを破ることができますか?それを行うより良い方法があるかどうか議論したいだけですか? –
まあまあです!それははるかに良い方法があるかどうかを知るだろう –
この種の質問は、http://codereview.stackexchange.com/の典型的なものでなければならず、何らかの理由でSO –