Eclipseでデバッグ
データベース処理
$rtn =& | $this-> | getObjectPropList( | |
'dbtablename', | //データベースのテーブル名 | ||
null, | //array $keys: 取得するプロパティ一覧(nullなら全て) | ||
$filter, | //array $filter: 検索条件 | ||
$order, | //array $order: 検索結果ソート条件 | ||
0, | //int $offset: 検索結果取得オフセット | ||
10000 | //int $count: 検索結果取得数 | ||
); |
下記に$orderと$filterの設定方法について説明します。
ソート条件の作成
$order = array('id' => OBJECT_SORT_ASC); DBの登録番号が小さい順番に取り出す指定です。
検索条件の作成
検索条件がひとつの場合はとても簡単です。
$filter = array('id' => new Ethna_AppSearchObject($id, OBJECT_CONDITION_EQ));
検索条件が複数の場合は複雑です。(説明は3つでおこないます)
先ずそれぞれの検索条件を作成します。
$cnd = array();
$cnd[0] =& new Ethna_AppSearchObject('123', OBJECT_CONDITION_EQ);
$cnd[1] =& new Ethna_AppSearchObject('456', OBJECT_CONDITION_EQ);
$cnd[2] =& new Ethna_AppSearchObject('789', OBJECT_CONDITION_EQ);
次に結合条件を指定して3つをつなぎます。
for($i=1; $i<3; $i++){
$cnd[0]->addObject('id',$cnd[$i], OBJECT_CONDITION_OR);
}
最後に全検索条件を設定します。
$filter = array('id' => $cnd[0]);
ここで作成した条件は、idが123 or 456 or 789 を取り出す指定です。
曖昧検索
例えば name に「海」が含まれる情報を取り出す条件を作成することはできます。
しかし「海」で始まる条件は作成できません。 (注)バージョンが上がり可能になったかもしれませんが?
プログラム的に書くと『*海*』はできるが、『海*』や『*海』は指定できません。
そこで、Ethna_AppSearchObjectとEthna_AppSQLを継承して機能拡張しましたのでご紹介します。
説明は加えませんがダウンロードしてお読みください。
JavaScriptの連想配列
var books={ | ||
a:"apple", | ||
ka:"かきくけこ", | ||
sa:"さしすせそ", | ||
ta:"たちつてと", | ||
na:"なにぬねの", | ||
ha:"はひふへほ", | ||
ma:"まみむめも", | ||
ya:"やゆよ", | ||
ra:"らりるれろ", | ||
wa:"わん", | ||
other:"ABCDEFGH" | ||
} |
innerHTML内でダブルクオテーションは使えない
var dat="x x x x x x x" と囲うために使うから。
しかし、使いたい場合がある。
onkeydown='clickbutton(\"itemname\", this)' のように\を付ける
ただし、JavaScript変数内のみで有効となる。 HTMLソース内ではエラーになる。
フォーカス設定
this.focus() ならばフォーカス設定されるが、document.forms[X].focus()だと設定されない。
getElementById(ID名称) を使う。 書式は下記のとおり。
document.getElementById(ID名称).focus();
JavaScriptの変数
var を付けるとローカル変数で、付けないとグローバル変数となる。
mysql にアクセスできない?
mysql -u root@password とやってもダメだ!
mysql -u root -ppassword とする。