PHP レッスン — レッスン 3.4 — MySQL DB の操作。DELETE 削除クエリ。
前のレッスンでは、管理クラス simpleCMS に新しいメソッドを追加する方法を学びました。では、レコードを削除するもう 1 つのメソッド delete() を追加しましょう。
メソッドはいつものように追加します:
public function delete($mid){
}
ご覧のとおり、パラメーター $mid、つまり私たちのレコードの id を渡します。前のレッスンを思い出すと、私たちはパラメーターを get リクエストから直接渡す別の方法を使うことにしました。今回は、別の方法でパラメーターを渡してみます。
さて、メソッドを定義したので、index.php ファイルにパスの処理を書きましょう:
PHP レッスン — レッスン 3.3 — MySQL DB の操作。UPDATE によるデータの更新。
私たちはすでに SELECT、INSERT INTO といった MySQL の演算子に触れました。今度は、DB にすでに入力されたデータをどう更新するか学ぶ時です。そのために SQL の UPDATE 演算子を使います。ただしまず、index.php ファイルを変更して、もう 1 つのパスの処理を追加しましょう。次のコードを見つけてください:
if( $_GET['admin'] == 1 ){ // URL に admin 変数があれば
print $obj->display_admin(); // 変数があれば、フォームを表示する
}else{
print $obj->display_public(); // 変数がなければ、メッセージを表示する
}
そして、次のコードに置き換えてください:
PHP レッスン — レッスン 3.2 — MySQL DB の操作。INSERT INTO によるデータの挿入。SELECT によるデータの抽出
前のレッスンでは、サイト用のテーブルを作りました。このレッスンでは、テーブルを改良し、いよいよ DB を扱い始めます。そこにデータを入力し、テーブルからそのデータを取り出します。難しいことは特にないと思うので、始めましょう。
まず、messages テーブルを改良することを提案します。今はデータ用のフィールドがありますが、レコードに番号を付けるためのフィールドがもう 1 つ必要です。Drupal の DB を開くと、node テーブルには nid フィールドがあり、それでノードに番号を付けています。私たちの messages テーブルでも同じようにする必要があります。
phpMyAdmin(Denwer では http://localhost/tools/phpmyadmin)に入り、テーブルを編集しましょう。図のように、テーブルの先頭にもう 1 つ列を追加します:
PHP レッスン — レッスン 3.1 — MySQL DB の操作。テーブルの作成。
前のレッスンでは、データベースとの接続を作りました。このレッスンでは、将来のサイト用のテーブルを作ります。まず、必要な DB の名前を simpleCMS クラスに追加しましょう:
class simpleCMS { // 管理クラス
public $host = 'localhost'; // DB を扱うための変数
public $username = 'root';
public $password = '';
public $db = 'testDB';
次に、この DB を MySQL サーバー上に作成する必要があります。あなたも Denwer を使っているなら、そのために phpMyAdmin があります。Denwer に含まれています。このリンクから phpMyAdmin に入り、新しい DB を作成してください:
PHP レッスン — レッスン 3 — MySQL DB の操作。
3 つ目のレッスンをいきなり MySQL DB の操作から始めるのは早すぎると思うかもしれません。しかし、そうではないと信じてください。PHP を Web プログラミングの言語として学びながら DB の操作を学ばないのは、インターネットのないコンピューターを持つのと同じです。そのようなコンピューターで作業はできますが、情報をどこからも得られません。ですから、歯を食いしばって、たとえ SQL 言語について何も知らなくても、DB への SQL クエリを書き始めましょう。
SQL(Structured Query Language —「構造化問い合わせ言語」) — 表形式のデータベースでデータの作成・変更・管理に用いられる汎用のコンピューター言語です。SQL はテーブル内のレコードの計算に基づいています。
PHP レッスン — レッスン 2 — ファイルの操作:開く、書き込む、読み込む。
前のレッスンでは、ゲストブック、ブログ、あるいはチャットの骨組みを作りました。あとは機能を追加するだけです。このレッスンでは、レコードをファイルに記録し、ファイルからレコードを出力します。
PHP にはファイルを扱う関数が多くあります。そのいくつかを取り上げます。おそらくあなたのサイトはデータをファイルではなくデータベースに記録するでしょう(これは確信しています)。ですから、要点を理解できるよう、そのうちのいくつかだけを取り上げます。データベースの操作は後で扱います。
では、前のレッスンで作ったファイルがなければ、1 つ前のレッスンに戻ってそれらのファイルをダウンロードしてください。
レコード追加のフォームに移りましょう:
/index.php?admin=1
このフォームからレコードを追加します。これらのレコードを処理するには、index.php ページ(このページにフォームからデータが送られます)で、$_POST 変数に値があるか確認する必要があります。確認はとても簡単です:
PHP レッスン — レッスン 1 — フォームの操作
日常生活では、私たちはテレビ、ラジオ、インターネット、直接の会話を通じて情報を得ます。サイトもユーザーから情報を得ますが、それは特別な形、すなわちフォームを通じて行います。フォームは、アンケート調査の用紙や、何かの公的機関に申請する際に記入する用紙と比べられます。フォームの要素のセットは限られていますが、フォームは、サイトの動作に必要なすべての情報をユーザーから受け取れるようにします。
レッスンをより実り多いものにするため、フォーム作成に関する HTML のレッスンを読んでおくとよいでしょう。
最初のレッスンを始める前に、私たちのアプリケーションの骨組み、すなわちサイトの動作を管理するクラスを作りましょう。
class フォルダを作り、その中に、サイト管理クラスを含む simpleCMS.php ファイルを置きます。また、この管理を起動する index.php ファイルも作ります。さらに、メッセージ用の空のフォルダと、スタイルファイル style.css も作ります。次のようなファイルとフォルダになります:
class/simpleCMS.php
messages/
index.php
style.css
PHP レッスン — 第 2 部 — PHP のフォーム、ファイル、セッション、セキュリティ
PHP レッスンの第 1 部を読んだなら、少なくとも PHP でコードを書く方法はもう知っているということです。この第 2 部では、言語の学習をさらに深め、次のことを学びます:
- php でのフォームの操作
- php でのファイルの操作
- php の Cookie
- php のセッション
- email の操作
- php のセキュリティ
ただし、他の PHP の教科書のように、これらをすべて別々に学ぶことはしません。1 つの小さなサイトを作るために、あらゆる機能を使います。しかし先に言っておくと、私たちのサイトは実用には使えません。その作成は教育目的のものです。自分のサイトを作りたいなら、既製の CMS やフレームワークを使ってください。
では、いつものように、簡単なことから始めて難しいことへ進みます。
PHP レッスン — レッスン 13 — OOP(オブジェクト指向プログラミング)の基礎
前のレッスンで、私はすでに次の PHP のデータ型について書きました。論理型、整数型、小数型、テキスト型、配列です。このレッスンでは、PHP で使えるもう 1 つのデータ型、すなわちオブジェクトについて説明します。
オブジェクトは配列と少し似ています。オブジェクトは、配列と同じように、数値、テキスト、配列、さらには他のオブジェクトといったさまざまなデータ型を自身の中に含められます。
オブジェクトは、配列のように他のデータ型を含められます。その場合、これらのデータをオブジェクトのプロパティ(フィールド)と呼びます。また、オブジェクトは自身の中に関数を含められ、その場合、これらの関数をメソッドと呼びます。
しかし、オブジェクトには配列との 2 つの大きな違いがあります:
1. オブジェクトはメソッドを含められる。
メソッドは、オブジェクトの名前から呼び出される関数です。関数をオブジェクトに結びつけることで、オブジェクトがどんな操作を行い、オブジェクトに対してどんな操作が行われるかを表せます。
2. オブジェクトはクラスから作られる。
PHP レッスン — レッスン 12 — while、foreach、for ループ
プログラミングでも、日常でも、結果に満足するまで繰り返しの動作を行わなければならないことがよくあります。日常ではこれを苦役と呼び、プログラミングではループ(loops)と呼びます。ループは PHP で非常によく見かけます。配列をたどったり、関数を計算したり、そのほかループでできることは多いからです。最もシンプルで最も人気のある while から始めましょう。
PHP while ループ
while はとてもシンプルです。丸括弧の中に条件を書き、波括弧の中に条件が満たされたときに何をするかを書きます。条件は、TRUE か FALSE の 2 つの状態を持つ論理式です。論理式についてもう一度理解したいなら、if 演算子のレッスンを読むとよいでしょう。では while の例です: