行数ではなく数量をカウントする-MySQL/PHP
しばらく前にSQLクエリについて質問しましたが、コードの非常に重要な部分を忘れていることに気付くまでは問題なく機能し、コードの変更に約1時間半を費やしました。 。元の質問は、2つのテーブル(ordersとorder_items)を内部結合するための良い方法を尋ねました。次に、SQLクエリに対してmysql_num_row()を実行し、それを1日と呼びました。 order_itemsテーブルにquantityという名前のセルがあることを忘れました。これを自分のカウントに統合する必要があります。以下に私のコードを含めています。これを簡単に実装する方法についてのアイデアをいただければ幸いです。
$SQL2ORDERSEARCH = "
SELECT * FROM order_items
INNER JOIN orders
ON orders.id = order_items.ord
WHERE orders.session = '$sessionID'
AND order_items.dish = '$SEARCHITEMS_OBJECT->dish'
AND order_items.size = 'full'";
$ORDERSEARCH = mysql_query($SQL2ORDERSEARCH) or die(mysql_error());
$ORDERSEARCH_NUM_ROWS = mysql_num_rows($ORDERSEARCH);
$FULLTOTAL = $FULLTOTAL + $ORDERSEARCH_NUM_ROWS;
カウントして別のルートを試してみました。そこで、クエリをそのように変更しました:
$SQL2ORDERSEARCH = "
SELECT COUNT(quantity) FROM order_items
INNER JOIN orders
ON orders.id = order_items.ord
WHERE orders.session = '$sessionID'
AND order_items.dish = '$SEARCHITEMS_OBJECT->dish'
AND order_items.size = 'full'";
私がやろうとしているのは、ここに含まれる料理の数を数えることだけなので、技術的には他に何も必要ありません。次に、ifステートメントを作成して、このクエリからの行があるかどうかを判断し、それらの量を計算しました。
if($ORDERSEARCH_NUM_ROWS > 0 ) {
while($ORDERSEARCH_OBJECT = mysql_fetch_object($ORDERSEARCH)) {
$FULLQTY = COUNT($ORDERSEARCH_OBJECT->quantity);
}
}
結果はまちまちです。時々私はデータテーブルをまっすぐに1になります。それ以外の場合($ FULLQTY + = COUNT($ ORDERSEARCH_OBJECT->quantity)などの小さな変更に応じて)、それを試してみると、数値が5+増加し、どういうわけか合計がほぼパターンのように見える結果が得られます。 20以上、リストのさらに下に移動します。
order_itemsの数量セルの数を取得し、それらをテーブルに表示して、合計を計算する簡単な方法を探しています。 order_itemsの数量セルのカウントを取得することを除いて、すべてがうまく機能しています。どんなアイデアでも、私はそれを大いに感謝します!
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。