mysql に 2 つのテーブルがあります。
people はユーザーの識別テーブルです..names/etc
trans はトランザクション テーブルであり、ユーザーが行ったこと (残高の加算/減算)
人々からすべての「ident」を返し、trans でその ident に一致する行を検索し、すべてが返された後、改ページをエコーして、各人が自分のページを印刷するようにしたいと考えています。(ページが十分でないほど多くのトランザクションがあるべきではありません..) また、残りの残高をサブクエリします (トランザクションにはクレジットとデビットの両方があり、正または負の可能性があります)。
構造:
people.id #(not queried, unique/auto-increment)
people.name
people.location
people.ident #(assigned number that is same as trans.ident)
trans.id #(not queried, unique/auto-inc)
trans.date
trans.ident
trans.amount
trans.description
クエリ:
$query = "SELECT people.ident, people.name, people.location, trans.ident, trans.date, trans.amount, trans.description FROM people LEFT JOIN trans ON people.ident = trans.ident";
$balance = mysql_result(mysql_query("SELECT SUM(amount) FROM trans WHERE ident = $ident", $dblink), 0);
$result = mysql_query($query) or die(mysql_error());
エコー結果:
while($row = mysql_fetch_array($result)){
echo $row['name']. " - ". $row['ident']. " - ". $row['amount']. " - " .row['description'];
echo('<div style="page-break-before: always;"></div>');
}
これにより、各トランザクションが出力され、ident でソートされますが、それぞれの後に div が表示されます...名前と場所、および残りの残高も出力したいと思います (1 回は div で、次に trans は like の下)それで:
<div class="user">['name'] ['location'] $balance</div> #These aren't rows, just a single return
<div class="trans">$row['amount']. " - ". $row['description'];</div>
<div style="page-break-before: always;"></div>
ご協力ありがとうございます。