1	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
PHP+MySQLのヒント
SUM,AVG,COUNT等の扱い
2	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
STEP④ 結果の表⽰示(4/4)
l  mysql_fetch_assoc したあとに・・・
-  mysql_fetch_assoc 関数の引数に$result変数をいれると、不不思議!
結果が1⾏行行ずつ取り出されていき、$kekkaに1⾏行行分のデータが
格納されます。
-  $kekkaにデータベースのカラム名を指定すると、指定された
カラムのデータが取得できます。
  
$kekka = mysql_fetch_assoc($result);
if( $kekka== null ){
break;
}else{
echo $kekka[’product_name’];
echo $kekka[’price’];
echo ”<br>”;
}
product_̲tblの列列(カラム)名
復復習
3	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
処理理の流流れ
PHPではカラム名を指定する
が、AVG(price)を指定する?
4	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
AVGやSUMなどのPHPでの取得
l  SUM,AVGなどのデータの取得は少し変則的!
<?php
$connect = mysql_connect(”localhost”,”DBユーザ名”,”DBパスワード”);
mysql_query(”SET NAMES utf8”,$connect);
/*
⾚赤字の部分が平均を取得するSQL
*/
$result = mysql_db_query(”DBデータベース名”,”select AVG(price)
from product_tbl”);
//次のページへ続く
5	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
AVGやSUMなどのPHPでの取得
//前のページの続き
while(true) {
$kekka = mysql_fetch_assoc($result);
if( $kekka == null ){
break;
}else{
echo $kekka[’AVG(price)’];
echo ”<br>”;
}
}
mysql_close($connect);
?>
この指定のしかたではエラーに
なってしまう。。。
6	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
処理理の流流れ
AVG(price)    を
averageという擬似カラム名に指定
擬似カラム名で表⽰示される!
7	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
AVGやSUMなどのPHPでの取得
l  SUM,AVGなどのデータの取得は少し変則的!
<?php
$connect = mysql_connect(”localhost”,”DBユーザ名”,”DBパスワード”);
mysql_query(”SET NAMES utf8”,$connect);
/*
⾚赤字の部分で擬似的にカラム名を指定する
*/
$result = mysql_db_query(”DBデータベース名”,”select AVG(price) average
from product_tbl”);
//次のページへ続く
8	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
AVGやSUMなどのPHPでの取得
//前のページの続き
while(true) {
$kekka = mysql_fetch_assoc($result);
if( $kekka == null ){
break;
}else{
echo $kekka[’average’];
echo ”<br>”;
}
}
mysql_close($connect);
?>
擬似カラム名を指定すると
正しくデータが取得できる!
9	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
お疲れ様でした!!

System select hint_for_h2

  • 1.
    1 Copyright (c) 株式会社HEARTQUAKE All rights reserved . PHP+MySQLのヒント SUM,AVG,COUNT等の扱い
  • 2.
    2 Copyright (c) 株式会社HEARTQUAKE All rights reserved . STEP④ 結果の表⽰示(4/4) l  mysql_fetch_assoc したあとに・・・ -  mysql_fetch_assoc 関数の引数に$result変数をいれると、不不思議! 結果が1⾏行行ずつ取り出されていき、$kekkaに1⾏行行分のデータが 格納されます。 -  $kekkaにデータベースのカラム名を指定すると、指定された カラムのデータが取得できます。    $kekka = mysql_fetch_assoc($result); if( $kekka== null ){ break; }else{ echo $kekka[’product_name’]; echo $kekka[’price’]; echo ”<br>”; } product_̲tblの列列(カラム)名 復復習
  • 3.
    3 Copyright (c) 株式会社HEARTQUAKE All rights reserved . 処理理の流流れ PHPではカラム名を指定する が、AVG(price)を指定する?
  • 4.
    4 Copyright (c) 株式会社HEARTQUAKE All rights reserved . AVGやSUMなどのPHPでの取得 l  SUM,AVGなどのデータの取得は少し変則的! <?php $connect = mysql_connect(”localhost”,”DBユーザ名”,”DBパスワード”); mysql_query(”SET NAMES utf8”,$connect); /* ⾚赤字の部分が平均を取得するSQL */ $result = mysql_db_query(”DBデータベース名”,”select AVG(price) from product_tbl”); //次のページへ続く
  • 5.
    5 Copyright (c) 株式会社HEARTQUAKE All rights reserved . AVGやSUMなどのPHPでの取得 //前のページの続き while(true) { $kekka = mysql_fetch_assoc($result); if( $kekka == null ){ break; }else{ echo $kekka[’AVG(price)’]; echo ”<br>”; } } mysql_close($connect); ?> この指定のしかたではエラーに なってしまう。。。
  • 6.
    6 Copyright (c) 株式会社HEARTQUAKE All rights reserved . 処理理の流流れ AVG(price)    を averageという擬似カラム名に指定 擬似カラム名で表⽰示される!
  • 7.
    7 Copyright (c) 株式会社HEARTQUAKE All rights reserved . AVGやSUMなどのPHPでの取得 l  SUM,AVGなどのデータの取得は少し変則的! <?php $connect = mysql_connect(”localhost”,”DBユーザ名”,”DBパスワード”); mysql_query(”SET NAMES utf8”,$connect); /* ⾚赤字の部分で擬似的にカラム名を指定する */ $result = mysql_db_query(”DBデータベース名”,”select AVG(price) average from product_tbl”); //次のページへ続く
  • 8.
    8 Copyright (c) 株式会社HEARTQUAKE All rights reserved . AVGやSUMなどのPHPでの取得 //前のページの続き while(true) { $kekka = mysql_fetch_assoc($result); if( $kekka == null ){ break; }else{ echo $kekka[’average’]; echo ”<br>”; } } mysql_close($connect); ?> 擬似カラム名を指定すると 正しくデータが取得できる!
  • 9.
    9 Copyright (c) 株式会社HEARTQUAKE All rights reserved . お疲れ様でした!!