2014年10月27日月曜日

PHP:PDO

 QUERY 

$sql = 'select id, name from shouhin';
$stmt = $dbh->query($sql);

while($result = $stmt->fetch(PDO::FETCH_ASSOC)){
   print($result['id']);
   print($result['name'].'<br>');
}


 INSERT 

$sql = 'insert into shouhin (id, name) values (?, ?)';
$stmt = $dbh->prepare($sql);
$flag = $stmt->execute(array(6, '扇風機'));


 UPDATE  

$sql = 'update shouhin set name = ? where id = ?';
$stmt = $dbh->prepare($sql);
$flag = $stmt->execute(array('クーラー', 6));
 
 
 DELETE  

$sql = 'delete from shouhin where id = :delete_id';
$stmt = $dbh->prepare($sql);
$flag = $stmt->execute(array(':delete_id' => 6));


 MAX 

$query="SELECT MAX(mag_num) as maxno FROM org_magazine WHERE org_id='$page_code_1'";
$stmt = $dbh->query($query);
$stmt->execute();
$result = $stmt->fetch( PDO::FETCH_ASSOC );
$new_mag_num = $result["maxno"]+1;


 COUNT 

$sql = 'SELECT * FROM テーブル名 '; $stmt = $dbh->query($sql); $stmt->execute(); $count=$stmt->rowCount();


 SUM 

テーブルのa1の合計を求める。

$stmt = $pdo -> prepare("SELECT SUM(a1) as a1 FROM テーブル名 WHERE y=:y");
$stmt -> bindParam(':y', $y, PDO::PARAM_STR);
$stmt -> execute();
if($row = $stmt -> fetch()){
$kei = $row['a1'];
}

□複数フィールドa1,a2,a3の値を合計する。

$stmt = $pdo -> prepare("SELECT SUM(a1 + a2 + a3) as goukei FROM テーブル名 WHERE y=:y");
$stmt -> bindParam(':y', $y, PDO::PARAM_STR);
$stmt -> execute();
if($row = $stmt -> fetch()){
$kei = $row['goukei'];

}

$q_sumprice_all = "
SELECT SUM(pay_price) AS totPrice FROM org_casher_history";
$res2 = $dbh->prepare("$q_sumprice_all");
$res2->execute();
$row2 = $res2->fetch(PDO::FETCH_ASSOC);
echo number_format(intval($row2["totPrice"]));

2014年10月9日木曜日

PHP:0埋&削除

// 0埋め5桁で表示する
echo sprintf("%05d", 123);     // "00123"
// 0埋め10桁で表示する
echo sprintf("%010d", 123);    // "0000000123"
// 0埋め10桁文字列を表示する
echo sprintf("%010s""abc");  // "0000000abc"
// 指定しないとスペース埋めで表示する
echo sprintf("%10s""abc");   // "       abc"
echo sprintf("%10d", 123);     // "       123"
// マイナスを指定すると左詰めで表示される
echo sprintf("%-10s""abc");  // "abc       "
echo sprintf("%-10d", 123);    // "123       "
// 数字列の場合は文字列は表示できない
echo sprintf("%010d""hoge"); // "0000000000"