09 06/23 PHP と SQL (MySQL) の連携 その2

Slides:



Advertisements
Similar presentations
1 実技演習1 2008/01/28,29 JaLTER Morpho 講習会. 2 起動・接続 各自、コンピュータを起動してネットワーク に接続してください。 各自、コンピュータを起動してネットワーク に接続してください。 IP アドレス自動取得 IP アドレス自動取得 無線 LAN 使用可 無線.
Advertisements

1 PHP プログラムの実行(まと め) 担当 岡村耕二 月曜日 2限 平成 22 年度 情報科学 III (理系コア科目・2年生) 本資料の一部は、堀良彰准教授、天野浩文准教授、菅沼明 准教授等による以前の講義資料をもとにしています。
データベースを体験しよう. データベース データをまとめて管理する仕組み – データを整理整頓して管理すると、 いろいろな目的で活用できる データベースの例 – 料理データベース – 座席予約 – 図書館の貸出 データベース 管理システム データベース 名簿データ 料理データ 食材データ 在庫管理.
第5章 JMPのインストールと基本操作 廣野元久
SQL データベースアクセスのための文法 担当 岡村耕二 月曜日 2限 平成20年度 情報科学III (理系コア科目・2年生)
オーダー端末操作手順書 WideNet株式会社 Ver.2013/01/30.
UNIX利用法.
UNIX利用法 情報ネットワーク特論資料.
DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
情報理工学部 情報システム工学科 ラシキアゼミ 3年 H 井奈波 和也
知能機械工学科 担当:長谷川晶一 TA:新・後藤・ナンバ
サーバでのファイルの扱い、HTML 担当 岡村耕二 月曜日 2限 平成21年度 情報科学III (理系コア科目・2年生)
ブラウザの基本操作 前のページに戻る ブラウザの左上にある 「戻る」ボタンで、自分がたどってきた一つ前のページに戻ることができます。
SQL データベースアクセスのための文法と MySQL
Microsoft PowerPoint98 Netscape Communicator 4.06[ja]
JPAを利用した RESTful Webサービスの開発
WEBから確認できる 駐車場管理システムについて
3-1 MySQLについて 発表者:藤村元彦 自然言語処理研究室.
第3回 ファイルとフォルダ 伊藤 高廣 計算機リテラシーM 第3回 ファイルとフォルダ 伊藤 高廣
コンピュータリテラシー 第3回授業の復習 基本的なUNIXコマンド
PHPエディタによる 情報システム演習 01.
オンライン登記申請マニュアル 【第4段階】 オンライン登記申請編
Accessによる SQLの操作 ~実際にテーブルを操作してみよう!~.
PHP 概要 担当 岡村耕二 月曜日 2限 平成21年度 情報科学III (理系コア科目・2年生)
らくらく学校連絡網 スライドショーで見る操作ガイド -8- グループの新規登録、修正できる項目 escで中断、リターンキーで進みます
セッション管理 J2EE I 第9回 /
平成22年度に実施を予定するインターネットを 用いた研修システムによる研修 ライブ配信受講手順書
PHP 概要 担当 岡村耕二 月曜日 2限 平成20年度 情報科学III (理系コア科目・2年生)
初年次セミナー 第2回 文字の出力.
Day3 Day4 Day3 Day4.
この資料は、テキストをもとに、講義のために作成したものです.学習用に活用してください.
マイクロソフト Access を使ってみよう 第1回
データベース設計 第9回 Webインタフェースの作成(1)
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
マイクロソフト Access を使ってみよう 第4回
サンデーPonセットアップマニュアル <目次> 1.動作環境について 2.セットアップ作業 ①. ソースの設置
Microsoft PowerPoint Netscape Communicator
三浦欽也 2009年11月 〔Sc182(2) 情報科学演習 参考資料〕
第8章 Web技術とセキュリティ   岡本 好未.
メールの利用1 Webメールの利用方法.
Microsoft PowerPoint98 Netscape Communicator 4.06[ja]
ホスティングサーバの作成と、 ラズベリーパイの利用
九州大学キャンパスクラウド 利用法 情報ネットワーク特論 講義資料.
SQL データベースアクセスのための文法 担当 岡村耕二 月曜日 2限 平成21年度 情報科学III (理系コア科目・2年生)
3-10. MySQLシステムの管理  2004年6月10日  大北高広                01T6010F.
第1回.リレーショナルデータベースを使ってみよう
第1回.リレーショナルデータベースを使ってみよう
第3回.テーブルの結合 結合条件 SQL を用いた結合問い合わせ.
第3回.テーブルの結合 結合条件 SQL を用いた結合問い合わせ.
PHP と SQL (MySQL) の連携 複数のテーブルを扱う
Linux リテラシ 2006 第5回 SSH と SCP CIS RAT.
09 06/23 PHP と SQL (MySQL) の連携 その1
3-6.インデックスについて 3-7.関数と併用されることの 多いMySQLコマンド
3-3.テーブルを更新する 2004年 4月22日(木) 01T6074X 茂木啓悟.
3.1 PowerPoint の概要 PowerPointを使ってできること
コンピュータ プレゼンテーション.
09 06/23 PHP と SQL (MySQL) の連携 その2
UNIX演習 情報ネットワーク特論.
PHP と SQL (MySQL) の連携 大量のデータを扱う
ファイルのアップロード HTMLファイルをWebサーバにアップロード 名商大のWebサーバ(opinion.nucba.ac.jp)
コンピュータ プレゼンテーション.
PHP 概要 担当 岡村耕二 月曜日 2限 平成22年度 情報科学III (理系コア科目・2年生)
データベース設計 第4回 DBMSの機能と操作方法(1) Access入門
UNIX演習 情報ネットワーク特論資料.
UNIX演習 情報ネットワーク特論資料.
UNIX演習 情報ネットワーク特論資料.
09 06/23 PHP と SQL (MySQL) の連携 その3
データベース第3回目 意味ごとにテーブルを分ける
PHP と SQL (MySQL) の連携 日本語のデータを扱う
第1章 文字の表示と計算 printfと演算子をやります.
Presentation transcript:

09 06/23 PHP と SQL (MySQL) の連携 その2 2007/6/13 平成20年度 情報科学III (理系コア科目・2年生) 09 06/23 PHP と SQL (MySQL) の連携 その2 担当 岡村耕二 月曜日 2限 http://okaweb.ec.kyushu-u.ac.jp/lectures/jk3/ 本資料の一部は、堀良彰准教授、天野浩文准教授等による 以前の講義資料をもとにしています。 情報科学III(10)

前回のおさらい(1) 主な MySQL 関数 MySQL との通信 mysql_connect():MySQLへの接続 mysql_query():コマンドまたはSQL文の実行 mysql_select_db():データベースの切り替え mysql_close():MySQLからの切断 MySQL から受け取った検索結果の操作 mysql_fetch_array():検索結果から1行読み出す mysql_data_seek():読み出す位置を変更する mysql_num_rows():検索結果の行数を求める

前回のおさらい(2) PHP 4.x から MySQL 4.x を利用する際の標準的な作業手順 MySQLサーバへの接続 PHP の mysql_connect() 関数 通信に使用する文字コードの設定 PHP の mysql_query() 関数 + MySQL の SET CHARACTER SET 文 データベースの選択 PHP の mysql_select_db() 関数 データベースの操作 PHP の mysql_query() 関数 + MySQL の SELECT/INSERT/UPPDATE/DELETE 文 この④は繰り返してもよい.DBを切り替えるときは,③に戻る. MySQLサーバからの切断 PHP の mysql_close() 関数

前回のおさらい(3) $results =mysql_query($query, $link); $row = mysql_fetch_array($results, MYSQL_ASSOC); mysql_fetch_array() mysql_query() $results $row MySQL DB 現在の 読み出し 位置 mysql_fetch_array() 関数は, $results の中に行が残っている限り,何度でも呼び出せる. 呼び出されるたびに,「現在の読み出し位置」が1レコード分だけ下に移動する. 配付資料では,図の部品に一部欠損があった.

今日やること PHPとMySQLについて知っておくと役立つこと(つづき) MySQLにアクセスするPHPプログラムの改良(つづき)

PHPとMySQLについて 知っておくと役立つこと(つづき) 前回の「豆知識?」を改題

前回の作業課題 自分のデータベースにアクセスして,テーブルのレコードをすべてブラウザに表示させるようなPHPプログラム ①接続 MySQL DBMS ②文字コード設定 ③DB選択 ④クエリ実行 DB ⑤検索結果の処理 ⑥切断 配付資料では,文字コード設定が抜けていた

実際のデータベースでは… ブラウザ経由でやりたい仕事は,データの一覧表示だけではない. 与えられた条件に合致するデータの検索 新規データの登録 登録済みデータの修正 不要データの削除  : これらが,それぞれ別のプログラムになるのは,まぁしかたがない. しかし,1つの作業が済んだら,すぐに同じ名簿で別の作業を始めたくなるかも知れない.

「ファイル」メニューの「開く」をクリック プログラムがいっぱいあると… やりたい処理のプログラムのURLを毎回直接指定する? 「ファイル」メニューの「開く」をクリック PHPプログラム1 =(URL1) そんな 面倒な! PHPプログラム2 =(URL2) PHPプログラム n =(URL n)

そういうときは… 最初のメニュー画面のURLだけを指定して,あとは,そこからクリックできるようにしたい. URLを指定して ここから先は 「開く」 ここから先は クリックだけ PHPプログラム1 MySQL DBMS PHPプログラム2 作業1 作業2 DB 作業 n PHPプログラム n

どのプログラムでも毎回同じになる部分がある MySQL に接続してから,データベースを選択するまで MySQL から切断するところ 切断はPHPの文1行だけなのであまり問題がない. NySQLに接続するところから,データベースを選択するところまでは,パスワードやDB名を変更したりすると,書き換えが面倒. ①接続 PHPプログラム MySQL DBMS ②文字コード設定 ③DB選択 ④クエリ実行 DB ⑤検索結果の処理 ⑥切断

共通の部分を1つのファイルにまとめる 各プログラムに,そのファイルを読み込んで実行する. PHPプログラム1 PHPプログラム2 共通 部分 PHPプログラム n パスワードなどを変更した場合は,ここだけ修正すれば済む.

PHPでは… require 文 PHPプログラムのその場所に,指定したファイルを読み込んでそのまま実行させる. ファイルが存在しない場合には,そこでエラーとなる. <?php require ( 'ファイル名' ); ?> PHPプログラム require 文の1行がまるまるこのプログラムで置き換わるイメージ (include 文もほぼ同じ効果を持つが,include 文は,ファイルが見つからなくてもエラーにならない)

しかも… 読み込まれるファイルの拡張子は,.php でなくてよい. むしろ,dbconnect.inc などのように,わざと .php でない拡張子にするのがよい. web サーバの設定により,dbconnect.inc を直接URLで指定してもアクセスできないようにコントロールできるから. dbconnect.inc <?php require ( 'ファイル名' ); ?> PHPプログラム

PHP + MySQL のシステム構成例(1) PHPプログラム1 メインメニュー HTMLファイル <form>タグがあるかもしれない PHPプログラム2 PHPプログラム2a これはきっと<form>タグを含んでいる. PHPプログラム n 共通 部分

PHP + MySQL のシステム構成例(2) PHPプログラム1 HTMLファイル 「終了」をクリック PHPプログラム2 PHPプログラム2a HTMLファイル 「お疲れ様でした.」 PHPプログラム n 共通 部分

さらに… これらのファイルは,すべて,同じディレクトリ(フォルダ)にまとめておくとよい. [te999999@bossp ~]$ cd public_html [te999999@bossp public_html]$ cd address_book [te999999@bossp address_book]$ ls -l 合計 20 -rw-r--r-- 1 te999999 ... 6月 12 22:47 dbconnect.inc -rw-r--r-- 1 te999999 ... 6月 12 22:47 end.html -rw-r--r-- 1 te999999 ... 6月 12 22:46 prog1.php -rw-r--r-- 1 te999999 ... 6月 12 22:46 prog2.php -rw-r--r-- 1 te999999 ... 6月 12 22:46 prog3.php : -rw-r--r-- 1 te999999 ... 6月 12 23:04 start.html [te999999@bossp address_book]$ 住所録関連のファイル

今日の作業(1) 前回作った(作りかけの)プログラムが public_html 直下にある場合は: bossp にログインして,public_html の下に新しいディレクトリを作る (mkdir コマンド) 前回のプログラムを,その新しいディレクトリに移動させる (mv コマンド) PC側にファイルが残っていることが確認できたら,ファイルを削除する(rm コマンド)だけでもよい(要確認!). mkdir 新ディレクトリ名 mv ファイル名 移動先ディレクトリ rm ファイル名

今日の作業(2) PC側での作業 前回のプログラムから,MySQLへの接続とDBの選択の部分を切り出して,別のファイル(共通部分のファイル)に保存する. 今日のところは,ファイル名の拡張子は「.php 」にしておく. この理由は,次回説明する. 前回のプログラムの上記の部分は,require 文で置き換える. メインメニューのHTMLファイルを作り,そこからクリックだけで前回のプログラムに飛べるようにする. 他の作業をするためのPHPプログラムを作る必要はないが,他にどんなメニュー項目が必要か,考えて作っておくとよい. 逆に,プログラムを実行し終わったら,どうやってメインメニューに戻ったらよいか? できあがったファイル群を,bossp 上で先ほど作ったディレクトリに転送する.

そこまで終われば… ここまでできていることになる. PHPプログラム1 メインメニュー HTMLファイル PHPプログラム2 PHPプログラム2a PHPプログラム n 共通 部分

練習問題: まずSQLコマンドで、次にプログラムで Projection をやってみよう。 Join をやってみよう。 SELECT [ALL | DISTINCT] SELECT項目リスト FROM テーブル名1[, テーブル名2, ...] [ JOIN 結合条件 ] [ WHERE 検索条件 ] SELECT [ALL | DISTINCT] SELECT項目リスト FROM テーブル名1[, テーブル名2, ...] [ JOIN 結合条件 ] [ WHERE 検索条件 ]

演習問題 テーブルのカラムとして 商品名 価格 色 重さ   を、用意し、「商品名」で検索し、「色」「重さ」はオプションで表示できるようなプログラムを作成せよ。 テーブル1 テーブル2 テーブル3 を用意して、「商品名」で検索して、「価格」「色」「重さ」が表示されるプログラムを作成せよ。