Ich habe die folgende Abfrage und es funktioniert gut. Wenn Sie die Abfrage sehen würden Sie feststellen, dass es eine Variable $code
genannt, und ich verwende, um manuell eingestellt seinen Wert wie diese $code="1001";
Mysql Abfrage zu Tabellen basierend auf den Werten aus einer anderen Tabelle
function check1() {
$code="1001";
$getData = $this->db->query("SELECT * FROM vouchers
LEFT JOIN details on vouchers.voucher_no = details.voucher_no
LEFT JOIN accounts on accounts.code = vouchers.account_code
WHERE (voucher_type='1' AND t_code=$code)
UNION ALL
SELECT * FROM vouchers
LEFT JOIN details on vouchers.voucher_no = details.voucher_no
LEFT JOIN accounts on accounts.code = details.t_code
WHERE (voucher_type='0' AND account_code=$code)
");
if($getData->num_rows() > 0)
return $getData->result_array();
else
return null;
}
Und wenn ich das Ergebnis meiner Ansicht Datei anzuzeigen, verwende ich das folgende Skript :
<?php if(count($records) > 0) { ?>
<?php $i = $this->uri->segment(3) + 0; foreach ($records as $row){ $i++; ?>
<?php echo $row['voucher_date']; ?>
<?php echo $row['name']; ?>
<?php echo $row['amount']; ?> <br>
<?php } ?>
<?php } else { echo "No Record Found";} ?>
<?php
$sum = 0;
foreach ($records as $row) {
$sum += str_replace(",", "", $row['amount']);
}
?>
Total: <?php echo number_format($sum, 2);?>
Jetzt möchte ich das Ergebnis für alle seine Werte tun, was den Wert der $code
aus der folgenden mySQL-Tabelle erhalten und zu erhalten, so dass, wenn ich die Ergebnisse meiner Ansicht Datei anzuzeigen ist es nicht zeigen Ergebnisse für $code="1001"
nur aber auch für $code="1002"
, $code="1003"
.
Um zu erreichen, was ich bekommen möchte, muss ich die mysql-Abfrage oben ändern. Aber ich verstehe nicht, wie es geht, würden Sie mir bitte zeigen.
Vielen Dank im Voraus :)
Tabellenname: Konten
code name
1001 Cash Account
1002 Advertising Expense
1003 Accounts Receivable