0

paymentクライアントのすべての支払い関連データを格納するMySQLテーブルがあります。テーブルフィールドは次のとおりfileNoですclientName:、、、、、。またはを入力する検索フォームを作成します。これにより、そのファイル番号またはクライアント名(未払い)のすべてのレコードをフェッチするテーブルが生成されます。これが浮動小数点数です。billNobillAmountstatusfileNoclientNamestatus = 0billAmount

私はMySQLが苦手ですが、これが私のバージョンのfileNoによるSQLです。

$sql = "SELECT * FROM `payment` WHERE `fileNo` = '$fileNo' AND `status` = '0'";

clientNameによるSQL

$sql = "SELECT * FROM `payment` WHERE `clientName` = '$clientName' AND `status` = '0'";

どちらの方法でも、クエリを実行する場合は、そのfileNoまたはclientNameに対する未払いの合計金額も表示する必要があります。

私の理解では、SUM()操作は次のようになります。

$sql = "SELECT SUM(billAmount) AS `unpaid` WHERE `fileNo` = '$fileNo' AND `status` = '0'";

また

$sql = "SELECT SUM(billAmount) AS `unpaid` WHERE `clientName` = '$clientName' AND `status` = '0'";

私の質問は、SUM()操作で正しいですか?そして、私が選択した未払いの合計金額を取得するにはどうすればよいunpaidですか?変数に保存できますか?

任意のアイデア、提案、またはリソースリンクをいただければ幸いです。

4

3 に答える 3

1

2 番目のクエリを使用する必要があると思いますが、WHEre 句がありませんでした

   $sql = "SELECT SUM(billAmount) AS `unpaid` FROM payment WHERE `clientName` = '$clientName' AND `status` = '0'";

未払いの合計金額はい、そのような変数として取得できません

 $result = mysql_query($sql);
 $row = mysql_fetch_array($result);
   ehco   $row['unpaid'] ;          <------ this will give you the unpaid amount.

もちろん、クエリをフェッチした後。

于 2012-12-13T19:49:33.380 に答える
0

FROM 句を忘れないでください。

$sql = "SELECT SUM(billAmount) AS `unpaid` FROM payment WHERE `clientName` = '$clientName' AND `status` = '0'";

クライアントの名前に引用符が含まれている可能性がある場合は注意してください (addslashes 関数を見てください)。

次に、合計を取得するには:

$sum = current(mysql_fetch_row(mysql_query($sql)));
于 2012-12-13T19:35:43.957 に答える
0

ところで

このクエリでは、句を見逃していますFROM:-)

 "SELECT SUM(billAmount) AS `unpaid` 
FROM payment
WHERE `fileNo` = '$fileNo' 
AND  `clientName` = '$clientName'
 AND `status` = '0'";

はい、最初のクエリから変数に値を格納し、セカンダリで使用することは可能です。SQLFIDDLE の適切なサンプルをモバイルで提供できれば幸いです。このコードを試すことができれば、後で更新されます。

于 2012-12-13T19:42:47.097 に答える