More Related Content
What's hot (13)
Modeller_doc_japanese_ver.1.0 Java デバッガ活用術 ~勘デバッグ・print デバッグから抜けだそう~ #jjug_ccc #ccc_h4 Handlersocket etc. 20110906 LibreOffice Base をSQLite のフロントエンドにしてみよう Powershell勉強会 v5 (こちらが最新です。) Powershell 超絶基礎 勉強会 v1 (もっと新しいバージョンがあります) Similar to System2 ajax (20)
【10人限定】1日でマスター!word pressのための「php:mysql講座」 今年こそ始めたい!SQL超入門 セミナー資料 2024年5月22日 富士通クラウドミートアップ More from Jun Chiba (20)
【2025年版】新入社員研修で使える楽しくかつ、学びのあるビジネスゲーム7選(ゲーム研修) アウトドアでできるチームビルディング研修用ビジネスゲーム「ロゲイニングカード」説明資料 ジグソーメソッドを用いた情報整理グロープワーク「モンスタービルディング」の説明資料 ストレスマネジメントを疑似体験できるゲーム型メンタルヘルス研修「ストマネ」説明資料 ビジネスマナーをゲーム形式で疑似体験できる研修「マナーストーリーオンライン版」の説明資料 ビジネスマナーをゲーム形式で疑似体験できる研修「マナーストーリーカード版」の説明資料 ペーパータワーを拡張した経営シミュレーションゲーム「ペーパータワーforビジネス」説明資料 プロジェクトマネジメントを疑似体験できるボードゲーム研修「プロジェクトテーマパーク」説明資料 プログラミングを疑似体験できるパズル型カードゲーム「フローチャートパズル」の説明資料 営業を疑似体験できるビジネスゲーム研修「ヒアリングチャレンジ カード版」の説明資料 営業を疑似体験できるビジネスゲーム「ヒアリングチャレンジ オンライン」の説明資料 ダイバーシティ&インクルージョンを体験できる異文化コミュニケーションゲーム「バーンガ」の説明資料 チームビルディングに使える企業向けドミノレンタルサービス「ドミノ倒しゲーム」の説明資料 ジグソーメソッドを用いた地図作成を目的とした情報整理ゲーム「ジグソータウン」の説明資料 チームビルディングに使えるコンセンサスゲーム「砂漠からの脱出 オンライン版」の説明資料 チームビルディングに使えるコンセンサスゲーム「砂漠からの脱出 カード版」の説明資料 チームビルディングに使えるコンセンサスゲーム「雪山での遭難 オンライン版」の説明資料 チームビルディングに使えるコンセンサスゲーム「雪山での遭難 カード版」の説明資料 チームビルディングに使える危機管理コンセンサスゲーム「船長の決断 オンライン版」の説明資料 チームビルディングに使える危機管理コンセンサスゲーム「船長の決断 カード版」の説明資料 System2 ajax
- 3. 3
Copyright (c) 株式会社HEART QUAKE All rights reserved .
処理理の流流れ
検索索条件を⼊入⼒力力する1 2 3
HTML
情報を受け取る&
SQLを実⾏行行する
情報を検索索する
PHP SQL
4 結果を返却する5 結果を受け取る&
結果をJSONで返却する
- 4. 4
Copyright (c) 株式会社HEART QUAKE All rights reserved .
今回もイメージで捉えましょう!
l phpMyAdminでSQLを実⾏行行した時を思い出そう!
l STEP① まずはログインして、データベースを選択
l 今回はb1_satoを選択しました
l STEP② 次に実⾏行行したいSQLを記述
l STEP③ 実⾏行行ボタンを押す
l STEP④ 結果が表⽰示される
①〜③までは、INSERTの時と同様です。
このステップをプログラムに変換します!
- 5. 5
Copyright (c) 株式会社HEART QUAKE All rights reserved .
STEP① ログインしてデータベースに接続
<?php
//まず、プログラムとデータベースとを接続
//サーバー名、ユーザー名、パスワードの順番で書いてあります
$connect = mysql_connect(”localhost”,”b1_sato”,”b1_sato”);
//select時の⽇日本語⽂文字化けを回避する
mysql_query(”SET NAMES utf8”,$connect);
//ここにあれこれ書いていく
//最後にDBへの接続を切切断
mysql_close($connect);
?>
- 6. 6
Copyright (c) 株式会社HEART QUAKE All rights reserved .
STEP② SQLの記述
<?php
$connect = mysql_connect(”localhost”,”b1_sato”,”b1_sato”);
mysql_query(”SET NAMES utf8”,$connect);
/*
ここにselect⽂文を書いていきます。
今回は jyanken_tblから全ての情報を取得してみます
*/
echo ”select * from jyanken_tbl”;
mysql_close($connect);
?>
- 7. 7
Copyright (c) 株式会社HEART QUAKE All rights reserved .
STEP③ 実⾏行行& STEP④ 結果の表⽰示(1/5)
<?php
$connect = mysql_connect(”localhost”,”b1_sato”,”b1_sato”);
mysql_query(”SET NAMES utf8”,$connect);
/*
構⽂文 $result = mysql_db_query(データベース名 = b1_sato,実⾏行行したいSQL)
SQLから帰ってきた検索索結果を 変数$result に仮保存できる
※変数の名前はresultじゃなくてもOK
*/
$result = mysql_db_query(”b1_sato” , ”select * from jyanken_tbl” );
mysql_close($connect);
?>
- 8. 8
Copyright (c) 株式会社HEART QUAKE All rights reserved .
STEP④ 結果の表⽰示(2/5)
l 変数「$result」には何が⼊入ってるか?
- resultにはSQLを実⾏行行した時の結果が表形式で⼊入っています。
$result = mysql_db_query(”b1_sato”,
”select * from jyanken_tbl”);
result の中身
- 9. 9
Copyright (c) 株式会社HEART QUAKE All rights reserved .
STEP④ 結果の表⽰示(1/5)
<?php
$connect = mysql_connect(”localhost”,”b1_sato”,”b1_sato”);
mysql_query(”SET NAMES utf8”,$connect);
$result = mysql_db_query(”b1_sato” , ”select * from jyanken_tbl” );
/*
$resultには何⾏行行のデータが⼊入っているかはその都度度変わるので
while構⽂文を使って取得出来たデータ数分ループさせる
*/
while(true) { //無限に繰り返せ
$kekka = mysql_fetch_assoc($result); //$resultから1⾏行行⽂文切切り取る
if( $kekka == null ){//もし、$personが空=nullだったらループを脱出
break;
}else{
echo $kekka [’win_lose’]; //切切り取ったデータのうちの、win_loseを表⽰示
echo ”<br>”;
}
}
mysql_close($connect);
?>
- 10. 10
Copyright (c) 株式会社HEART QUAKE All rights reserved .
STEP④ 結果の表⽰示(3/5)
l mysql_fetch_assoc ってなにものですか?
- mysql_fetch_assoc 関数の引数に$result変数をいれると、不不思議!
結果が1⾏行行ずつ取り出されて$kekkaに仮保存されていきます。
- 切切り取れなくなると$kekkaには空を表す null が⼊入ります。
$kekka= mysql_fetch_assoc($result);
1ループ⽬目
2ループ⽬目
- 11. 11
Copyright (c) 株式会社HEART QUAKE All rights reserved .
STEP④ 結果の表⽰示(4/5)
l トレイを上から順番にとっていくイメージ
- 積み重ねられたトレイ(=$result)の上から順番に1つずつ取っていく
(=mysql_fetch_assoc)イメージです
- 積み重ねられたトレイがなくなるまで繰り返します(=while)
- 取った1つのトレイが$kekkaです。
1ループ⽬目
2ループ⽬目
3ループ⽬目
$kekka= mysql_fetch_assoc($result);
if($kekka== null){
break;
}
- 12. 12
Copyright (c) 株式会社HEART QUAKE All rights reserved .
STEP④ 結果の表⽰示(5/5)
l mysql_fetch_assoc したあとに・・・
- mysql_fetch_assoc 関数の引数に$result変数をいれると、不不思議!
結果が1⾏行行ずつ取り出されていき、$personに1⾏行行分のデータが
格納されます。
- $personにデータベースのカラム名を指定すると、指定された
カラムのデータが取得できます。
$kekka = mysql_fetch_assoc($result);
if( $kekka== null ){
break;
}else{
echo $kekka[’win_lose’];
echo ”<br>”;
}
jyanken_̲tblの列列(カラム)名
- 13. 13
Copyright (c) 株式会社HEART QUAKE All rights reserved .
データが1件しかないことがわかっている時
<?php
$connect = mysql_connect(”localhost”,”b1_sato”,”b1_sato”);
mysql_query(”SET NAMES utf8”,$connect);
$result = mysql_db_query(”b1_sato” , ”select * from jyanken_tbl” );
/*
$resultに1件だけデータが⼊入っているのがわかっている場合は
while構⽂文を使う必要はありません。
ただし、mysql_fetch_assoc を使って1⾏行行⽬目のデータを取得する必要があります
*/
$kekka = mysql_fetch_assoc($result); //$resultから1⾏行行⽂文切切り取る
if( $kekka == null ){//もし、$personが空=nullだったらループを脱出
break;
}else{
echo $kekka [’win_lose’]; //切切り取ったデータのうちの、win_loseを表⽰示
echo ”<br>”;
}
mysql_close($connect);
?>
補⾜足