私はあるテーブルからすべての値を取得しようとしていて、別のテーブルからいくつかの値を取得しようとしています。これは私が修正しようとしているデモ販売時点プログラムです。あるテーブルのすべての値と別のテーブルの値を選択し、それらを表示する
私が修正しようとしているセクションでは、最初に私がTRANSACTION ID
、DATE
、INVOICE NUMBER
、AMOUNT
とREMARKS
を持っている販売レポートページ、です。別の表の値をいくつか追加したいとします(例:sales "NAME"と "QTY")。ここで
は私がやったことです:
<?php
include('../connect.php');
$d1=$_GET['d1'];
$d2=$_GET['d2'];
$result = $db->prepare("SELECT sales.* , sales_order.name, sales_order.qty FROM sales,sales_order WHERE date BETWEEN :a AND :b");
$result->bindParam(':a', $d1);
$result->bindParam(':b', $d2);
$result->execute();
for($i=0; $row = $result->fetch(); $i++){
?>
<tr class="record">
<td>STI-000<?php echo $row['transaction_id']; ?></td>
<td><?php echo $row['date']; ?></td>
<td><?php echo $row['name']; ?></td>
<td><?php echo $row['invoice_number']; ?></td>
<tf><?php echo $row{'invoice_number'};?></td>
<td><?php
$dsdsd=$row['amount'];
echo formatMoney($dsdsd, true);
?></td>
<td><?php echo $row['type']; ?></td>
</tr>
<?php
}
?>
</tbody>
<thead>
<tr>
<th colspan="4" style="border-top:1px solid #999999"> Total </th>
<th colspan="2" style="border-top:1px solid #999999">
<?php
function formatMoney($number, $fractional=false) {
if ($fractional) {
$number = sprintf('%.2f', $number);
}
while (true) {
$replaced = preg_replace('/(-?\d+)(\d\d\d)/', '$1,$2', $number);
if ($replaced != $number) {
$number = $replaced;
} else {
break;
}
}
return $number;
}
$d1=$_GET['d1'];
$d2=$_GET['d2'];
$results = $db->prepare("SELECT sum(amount) FROM sales WHERE date BETWEEN :a AND :b");
$results->bindParam(':a', $d1);
$results->bindParam(':b', $d2);
$results->execute();
for($i=0; $rows = $results->fetch(); $i++){
$dsdsd=$rows['sum(amount)'];
echo formatMoney($dsdsd, true);
}
?>
</th>
</tr>
</thead>
</table>
2つのテーブルを1つのクエリで結合する方法を尋ねていますか?上記の通り – GrandMasterFlush
のように、結合を使用する必要があります。どのフィールドがテーブルにあるのかを知らなくても、2つのテーブル間でどのように関連しているのかわからなくても、これをガイドするのは難しいです。 MySQLの結合を読んでも役立ちます。 –
2つのテーブルを結合する場合は、投稿を更新して2つのテーブルの構造と互いの関係を教えてください。 –