Структура базы данных для таблицы 1 выглядит следующим образом:
id | name | total
Пример данных выглядит следующим образом:
1 | Anna | 100,00€
2 | Peter | 1000,00€
3 | John | 10,00€
Структура базы данных для таблицы 2 выглядит следующим образом:
id | code | value
Пример данных выглядит следующим образом:
1 | Tax 24% | 20,00€
1 | Tax 14% | 2,00€
2 | Tax 24% | 200,00€
2 | Tax 14% | 20,00€
2 | Tax 24% | 2,40€
here might also be sales with 0% and 9% tax
Как я хочу, чтобы SQL-оператор php отображал результаты в HTML-таблице:
id | name | Tax with 24% | Tax with 14% | Tax with 9% | total
*
1 | Anna | 20,00€ | 2,00 € | 0% | 100€
КАК МОЖНО НАПИСАТЬ ЭТО В MYSQL PHP HTML?
<?php $query = $this->db->query("select
order_id,
firstname,
lastname,
total,
(select value from `" . DB_PREFIX . "order_total` where title='ALV 24%') as tax24,
(select value from `" . DB_PREFIX . "order_total` where title='ALV 14%') as tax14,
(select value from `" . DB_PREFIX . "order_total` where title='ALV 9%') as tax9
from
`" . DB_PREFIX . "order`");
$products = array();
// Check if there are any rows returned from the query
if ($query->num_rows > 0) {
// Loop through the returned rows for processing
foreach ($query->rows as $result) {
$products[] = array(
'order_id' => $result['order_id'],
'firstname' => $result['firstname'],
'lastname' => $result['lastname'],
'tax24' => $result['tax24'],
'tax14' => $result['tax14'],
'tax9' => $result['tax9'],
'total' => $result['total'],
);
}
}
foreach ($products as $orders) { ?>
<table class="list">
<tr>
<td><?php print $orders['order_id']; ?></td>
<td><?php print $orders['firstname'] . " " . $orders['lastname']; ?></td>
<td><?php print $orders['tax24']; ?></td>
<td><?php print $orders['tax14']; ?></td>
<td><?php print $orders['tax9']; ?></td>
<td><?php print $orders['total']; ?></td>
</tr>
<?php
}
?>
</table>
Псевдо sql хитрой части:
select
id,
name,
(select value from table2 where code='Tax 24%' and table2.id=table1.id) as tax24,
(select value from table2 where code='Tax 14%' and table2.id=table1.id) as tax14,
(select value from table2 where code='Tax 9%' and table2.id=table1.id) as tax9
from
table1
И, конечно, вы должны запросить это в php и отобразить правильно.
table2.code должен содержать значение типа «24», «14», «24» .. не «Tax 24%»