読者です 読者をやめる 読者になる 読者になる

m6uとFuelPHPとPostgreSQLとAndroid

FuelPHPまわりのメモ、初心者に産毛程度を生やす。

PostgreSQL:(作業メモ)データベースを別サーバー向けに複製したい

現在業務に使っているサーバーはPostgreSQL 8.4で、これから引っ越すとおそらく最新は PostgreSQL 9.6だろうってことを想定して、実際にデータベース含めてシステムが引越しできるかを検討しているわけです。 現行サーバーで、pg_dumpallする 「24.1.2. pg_d…

PostgreSQL: 日数を求める

日数を求めるのに、日付と日付の引き算をします 日付型どうしなら、引き算すると整数値が出てきます。 select cast('2016-12-01' as date) - cast('2016-11-01' as date) タイムスタンプ型どうしなら、interval型で出てきます。 select cast('2016-12-01' as…

PHP: PDO経由でMySQL接続するときのあれこれ

PHP

数週間後(?)の自分に向けてのメモ(?) 基本形 公式ドキュメント「PHP: PDO::__construct」にある方法。 g…

FuelPHP:Fieldsetでチェックボックスを扱う時の話

ハマったのでメモ。 9ensan作ViewFormパッケージを使っていて、はじめてadd_checkbox()を使ったら、これで半日ハマってしまった。 また同じことを繰り返しそうな気がするのでまとめます。 チェックボックスを複数個使うフォームに改造したのです→validation…

改題済:PHP 5.3系でvalidationのルールをclosure(無名関数)で拡張するときの注意【解決済】

PHP

ハマったのでメモ。 ローカルでテストしてサーバーで動かない、PHPのバージョン違いの影響らしい ローカルのPHP 5.4.16なXAMPPで動作確認を取った一式を、サーバーのPHP 5.3.15に反映したら、「Using $this when not in object context」なんてエラーが発生…

Android始めました:どうやらfindViewById()で落ちるらしい、その原因と対策

急にAndroid用に業務アプリを起こしてみようと一念発起して、Android Studioと日々格闘しているところなのですが、最初の格闘がこれでした: findViewById()はsetContentView()より後findViewById()でNull Pointer Exception エラー - とある学生の技術Blog …

PostgreSQL: VALUES句の便利な使い方、データがなくてもゼロを取得する

以前やったことを忘れがちなので、改めてここにまとめておく。 SELECT * FROM ( VALUES (1::integer), (2), (3), (5), (7), (11) ) AS tbl(tbl_cd) これは何をやっているのかというと、本来はテーブルから読みだして連結させるべきところを、SELECT文中で固…

フォームで同一名で複数個のチェックボックスを扱うときは、name属性に「foo[]」のように配列管理することを示す必要がある

ここ2~3日ハマっていた話。 データベースのクエリー結果を元に、htmlでテーブルを組んでリスト表示させている中に、選択/非選択をユーザーが入力するためのチェックボックスを表示させたいと思いました。 例えばこんな感じ: <td class="center"></td> webブラウザ上ではチェックボ…

OT: フォームのボタンのnameにsubmitって名前をつけてはいけない

今日数時間もの間、ずーっとはまっていたので、忘れないようにメモしておきます。 送信ボタンによって、送信先を変更したい 最初は、送信ボタンはひとつしかありませんでした。 機能追加の都合上、送信ボタンが3つに増えました。 最初に作ったボタンの名前は…

FuelPHP 1.7.2でPostgreSQLに接続するときclient_encodingを与える必要が出てきた

fuel/app/config/db.php にてデータベース接続を定義していますが、こんなふうに変わりました。 正直言って、なんでこうなのかわからないけど。 v1.7.1のとき return array( 'active' => 'local', 'local' => array( 'type' => 'pdo', 'connection' => array…

FuelPHPの1.7.1から1.7.2で、Format::to_csv()のパラメータが増えていたとは

差異の詳細 v1.7.1の宣言: public function to_csv($data = null, $delimiter = null) v1.7.2の宣言: public function to_csv($data = null, $delimiter = null, $enclose_numbers = null, array $headings = array()) 「, $enclose_numbers = null, array…

FuelPHPをレンタルサーバー上に設置する場合の注意点(v1.7.2)

元々PHP5.2だったのを入れ替えてPHP5.3にして、FuelPHPの動作条件を満たしたかもしれないということで、設置してみた時のメモ。 Zipファイルそのまま展開が近道だった そもそも、Composerが入っていないので、まずはComposerを入れようとしたのですが、どう…

FuelPHPでフォームのラジオボタンでのバリデーションが「Validation rule in_array failed for ~」が出ちゃう→array_key_existsで解決

ラジオボタンを設置してからというもの、$fieldset->validation()->run()で必ず「Validation rule in_array failed for ~」ってのがラジオボタンの組の数だけ表示されてしまって困ってます。 例によって「viewform」使ってます。 // 金額入力切替 $fieldset…

FieldSet_Field->add_rule()の書き方がわからないわからない→わかった

今日もFuelPHPプログラミングでハマっていたので、失敗を繰り返さないようメモしておきます。 フォームの作成をしっかり「viewform」パッケージに依存していて、バンバンadd_text()とかadd_select()とか書きまくっています。 フォーム入力の検証処理を組み込…

php: 配列の最後に追加する方法

PHP

連想配列(文字列をキーにして値を保持する配列)でなく、配列(0,1,2,...など数字をキーにして値を保持する配列)の方の話。 他人の書いたソースコードを見ていて、この書き方は何なんだろうと思って調べてみたら、なるほどこういう書き方もあるのかと悟っ…

疑問:配列を関数のように使いたい、その下ごしらえを効率化したい→as_object()を試す

今回の疑問 今日もFuelPHPとPostgreSQLでシステム開発しております。 modelクラスで高度なSELECT文の実行結果を返すメソッドを書いてます。 例えばこんな感じ。 $sql = <<<EOT SELECT a, b, c, x, y, z FROM ( SELECT … FROM … ) LEFT JOIN ( SELECT … FROM … ); EOT; return DB::query($sql)->as_assoc()->execute(); 結果に含まれるa, b, cの取りうる範囲がそれぞれ違っていて、</eot>…

ViewFormでadd_date_select()を使うときのまとめ

「9wick/fuel-viewform」に掲載されている9wickさんのViewFormパッケージで、年月日入力をラクに組み込む方法をまとめます。 $fieldset->add_date_select('hiduke', '日付入力', 2003, idate('Y')); を一発呼ぶだけで、フォーム入力項目が4つ出来ます。 'hid…

FuelPHPでフォーム入力をどう処理するか(概念とか考え方とか処理の流れとか)

素のPHPの場合、$_POST(や$_GET)から受け皿変数にフォーム入力値を順次取り出しつつ、適正な入力かどうか検証した後、何かしらの処理にかけて、処理結果を出力するなり、フォーム入力に差し戻すなりしていた。 長ったらしくなるPHPソースファイルの、上か…

番外編:PHP関連でブックマークしたページをまとめる

PHP

PHP: PHP マニュアル - Manual ここはブックマークツールバー上に必ず置いてます。すぐにリファレンスを調べたいときに重宝しています。 サクラエディタでルールファイルを活用する PHP 「サクラエディタ」というテキストエディターでPHPファイルを編集する…

FuelPHPとViewForm\FieldSetで、select要素を生成するのに渡す連想配列の作り方がわからない→解決!

間が開いてしまいましたが、FuelPHPでのシステム開発は継続しております。 「fuelphpのfieldsetがもったいないので拡張してみた | エンジニア開発記」という記事を見て「これだ!」と飛びついてみたのはいいものの、select要素を作るのにちょっと困っていま…

疑問:非FuelPHPなシステムとFuelPHPなシステムを同一サーバー上に共存させる方法は?

《疑問に思ったところをそのままメモとして掲載して、解決できたら記事に反映させる予定。同様のギモンを持った人への助けになるでしょうか。》 稼働中のシステムに対して新しい機能をシステム化する上で、サーバーまるごとFuelPHPにするなら悩まないけど、…

Windows上のXAMPPでFuelPHPを開発できるようになるまで

Windows上で開発するのに、既存システムの維持の都合上これまで ローカル実行環境:xampp for windows ローカルデータベース:PostgreSQL 8.4.11, 32-bit ソースコード編集:EmEditor なんてやっていたけど、どうせならしっかりデバッグできるように持って行…

FuelPHPを使いたくて

現行システムがフレームワークを使っていないPHP4時代のものなので、システム再構築の一環としてフレームワークを導入したいと考えた。 学習コストが高いものはなるべく避けたい、日本語による情報が多いものがいい、などと考えて情報収集していたら、まずこ…