プログラミングで飯を食え。腕をあげたきゃ備忘録!

PHP、JavaScript、HTML5、CSS3などWEB系言語を中心に基本テク、備忘録をまとめます。Android、Iphoneアプリ開発についても!

PHPでテキストファイルを簡易データベースとして使用するTextDbクラス公開!get()

サクウェブTVはコチラ↓↓↓
サクウェブTV

では、get()の使い方を説明します。get()はテーブルの全レコードを取得する関数です。

今、

f:id:senoway:20130804160245j:plain

このディレクトリ構成で、index.php

require_once 'TextDb.php';
$c_fields = array("id","name","address");
$c_db = new TextDb("tbl/customer.txt","::",$c_fields);

$i_fields = array("id","name","customer_id");
$i_db = new TextDb("tbl/item.txt","::",$i_fields);

と記述してあるとして、customer.txtに

tablename::customer
id::name::address
1::yamada::tokyo
2::tanaka::osaka
3::suzuki::kyoto

のように3つのレコードがあるとします。これをget()で取り出すには

$data = $c_db->get();
print_r($data);

のようにします。

実行結果は、

Array
(
    [customer] => Array
        (
            [1] => Array
                (
                    [id] => 1
                    [name] => yamada
                    [address] => tokyo
                )

            [2] => Array
                (
                    [id] => 2
                    [name] => tanaka
                    [address] => osaka
                )

            [3] => Array
                (
                    [id] => 3
                    [name] => suzuki
                    [address] => kyoto
                )

        )

)

です。ちなみに別の記事で説明するfind()を用いて

$data = $c_db->find();
print_r($data);

としても同じ結果です。

関数名説明
get()

テーブルの全レコードを取得する。 

find($conditions = array()) 

検索条件を指定してレコードを取得する。

引数がない場合はget()と同じ動作をする。

 findJoin($join,$con1=array(),$con2=array())

テーブルを結合して

指定条件に合致したレコードを取得する。 

save($arr) 

レコードを追加または更新する。

引数の配列にidが指定されている場合は、

そのidのレコードを更新する。idがない場合は追加する。 

updateBase($form)  特定のレコードの特定のカラムを更新する。 
updateAll($arr,$conditions) 

指定した条件に合ったレコードの指定カラムを

一括更新する。 

delete($id)  指定したidのレコードを削除する。 
deleteAll($conditions) 

指定した条件に合ったレコードを

一括削除する。 

getLastId()  最後のレコードのidを数値で取得する。