2

私はmysql/phpが初めてで、使用してカスタムクエリを作成しようとしています

$query = "SELECT expo_location,  SUM(total_sale) FROM _sales_db WHERE day IN('Friday') GROUP BY expo_location"; 

$result = mysql_query($query) or die(mysql_error());

// Print out result
while($row = mysql_fetch_array($result)){
  echo "<span style='font-weight:normal;color:#cfcfcf;'>"."Total ". $row['expo_location']. " = $". number_format((float)$row['SUM(total_sale)'], 2, '.', '')."</span>";
  echo "<br />";
}

戻り値:

//
Total Canton = $295.94
Total Malone = $980.24
Total Massena = $1187.10
//

GROUP BYを使用して、「expo_location」名を変数として返すだけです。

Example
$Canton = 
$Malone = 
$Massena =

要約すると、すべてのエントリを 1 つの列にまとめてグループ化し、変数として返すということですか?

4

2 に答える 2

2

以下のコードは、295.94 を含む $expo_locations['Canton'] のようなことを実行できるように、連想配列を作成します。

    $query = "SELECT expo_location,  SUM(total_sale) FROM _sales_db WHERE day IN('Friday') GROUP BY expo_location"; 

    $result = mysql_query($query) or die(mysql_error());

    $expo_locations = array();

    // Print out result
    while($row = mysql_fetch_array($result)){
        $expo_locations[$row['expo_location']] = number_format((float)$row['SUM(total_sale)'], 2, '.', '');
    }
于 2012-05-04T22:10:39.367 に答える
1

抽出された位置データを配列に格納し、レコード ループを実行してから、収集したすべてのデータを文字列に単純に内破することができます。

$query = "SELECT expo_location,  SUM(total_sale) FROM _sales_db WHERE day IN('Friday') GROUP BY expo_location"; 

$result = mysql_query($query) or die(mysql_error());

$locations = array();

// Print out result
while($row = mysql_fetch_array($result)){
    $locations[] = $row['expo_location'];
}

$locations_string = implode(', ', $locations); // String version
var_dump($locations); // Displays array content.
于 2012-05-04T22:13:09.460 に答える