私のデータベースからのデータを表示するMySQLクエリがあります。URLに基づいて異なるMySQLクエリを実行する
$sql = "SELECT SUM(InvoiceAmount) AS TotalBilling,SUM(ClientCostToDate) AS WIP FROM Estimates WHERE date_format(InvoiceDate, '%Y-%m')=date_format(now(), '%Y-%m')";
このクエリは、MySQLデータベースのデータをページのHTMLテーブルに表示します。 URLに基づいてこの$sql
クエリに小さな変更を加える必要があります。これは可能ですか?
理想的には、それはのようなものを動作します:
もし/またはindex.phpを、これを実行します。
$sql = "SELECT SUM(InvoiceAmount) AS TotalBilling,SUM(ClientCostToDate) AS WIP FROM Estimates WHERE date_format(InvoiceDate, '%Y-%m')=date_format(now(), '%Y-%m')";
/london.php場合は、これを実行します。そこ
$sql = "SELECT SUM(InvoiceAmount) AS TotalBilling,SUM(ClientCostToDate) AS WIP FROM Estimates WHERE Studio = 'London' date_format(InvoiceDate, '%Y-%m')=date_format(now(), '%Y-%m')";
1ページあたりのクエリのわずかな変更であり、結果はStudio = 'London'
と表示されます。これは私がlondon.phpにロンドンに関係する結果しか表示できないようにするためです。
これを達成するにはどうすればよいでしょうか?ご協力ありがとうございました。ここで
は私の完全なスクリプトです:
<?php
require_once 'config.php';
// create connection
$conn = new mysqli($currentConfig['host'], $currentConfig['user'], $currentConfig['pass'], $currentConfig['name']);
// check connection
if ($conn->connect_error) {
die('Connection failed: '.$conn->connect_error);
}
$sql = "SELECT SUM(InvoiceAmount) AS TotalBilling,SUM(ClientCostToDate) AS WIP FROM Estimates WHERE date_format(InvoiceDate, '%Y-%m')=date_format(now(), '%Y-%m') AND Studio = 'Splash London'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while ($row = $result->fetch_assoc()) {
$wip = $row['WIP'];
$total_billing = $row['TotalBilling'];
// US national money format
setlocale(LC_MONETARY, 'en_US');
// echo data into HTML table
echo
'<tbody>'.'<tr>'.'<td>'. money_format('%(#10n',$total_billing) . "\n" .'</td>'.'<td>'. money_format('%(#10n',$wip) . "\n" .'</td>';
}
} else {
echo 'No results';
}
$conn->close();
ifステートメントを作成する – rak007