3

営業担当者が行った販売/購入の数を表示したい。名前を入力すると、番号が表示される検索ボックスがあります。したがって、合計購入数をカウントするには、次のコードを使用しています。

<?php

mysql_connect ("****", "****","****")  or die (mysql_error());
mysql_select_db ("*******");

 $term = $_POST['term'];


$sql = mysql_query("select count(*) from car_orders where side='buy' and sales_id like '%$term%'");


while ($row = mysql_fetch_array($sql)){
 echo 'owner_id: '.$row['sales_id'];
echo '<br/> side '.$row['side'];
echo '<br/><br/>';
 }
?>

ページにカウント数値を表示する方法を見つけようとしましたが、失敗しました。誰か助けてください

4

2 に答える 2

2
  1. COUNT(*)列のみを選択しているだけで、他には何も選択していません。
  2. を使用していmysql_fetch_assoc()ないため、連想配列ではありません。
  3. 関数はmysql_非推奨です。mysqli または PDO を使用してください。
于 2012-10-29T15:37:27.297 に答える
2

追加する必要がありますALIAS

select count(*) AS totalCOUNT from car_orders where ....

そして、それを使用して値を取得できるようになりました

$row['totalCOUNT']

しかし、あなたのクエリを見ると、どちらsales_idside投影されませんでした。以下のクエリは仮定にすぎません

select `sales_id`,`side`, count(*) AS totalCOUNT
from car_orders 
where side='buy' and 
      sales_id like '%$term%'
GROUP BY `sales_id`,`side`

これで、すべての値をフェッチできるようになりました。

$row['sales_id']
$row['side']
$row['totalCOUNT']

そのクエリは脆弱ですSQL Injection。それから保護する方法については、以下の記事をお読みください。

于 2012-10-29T15:35:07.803 に答える