IE6等でアンカーの中に文字列以外のタグ等を設定すると指カーソルが出ない場合が有ります。
そういう場合はCSSで強制的に指カーソルを表示するようにします。
style="cursor:pointer;cursor:hand"
IE6等でアンカーの中に文字列以外のタグ等を設定すると指カーソルが出ない場合が有ります。
そういう場合はCSSで強制的に指カーソルを表示するようにします。
style="cursor:pointer;cursor:hand"
type=”reset”だと全てリセットされてしまうので、type=”file”のvalueだけリセットしたい場合。
こんなHTMLだった場合
[HTML]
[/HTML]
通常だと
$('#resetid').click(function(event){ $("#photoid").val(''); });
でリセット出来るはずですが、IEでリセットできない。。。
replaceで置き換えてやるのが正解のようです。
$('#resetid').click(function(event){ event.preventDefault(); $("#photoid").replaceWith("<input type='file' name='photo1' value='' id='photoid'>"); });
純粋に複数のテーブルのダンプを取るのは-tオプションで複数のテーブルを指定すれば複数テーブルのダンプを取得する事が出来ます。
dbnameデータベースからa_tableとb_tableテーブルのダンプを取る場合
$ pg_dump -t a_table -t b_table dbname > ~/dbname.dump.sql
どのバージョンからかは定かじゃないですが、8.2では-tオプションにワイルドカードを指定する事が出来るので
$ pg_dump -t '*_talbe' dbname > ~/dbname.dump.sql
と書くと_tableで終わる名前のテーブルを全てダンプする事が出来ます。
前提として以下のような場合のテーブルでHABTMの設定をしているとします。
good.php
<?php class Good extends AppModel { var $name = 'Good'; var $hasAndBelongsToMany = array( 'Tag' => array( 'className' => 'Tag', 'joinTable' => 'goods_has_tags', 'with' => 'GoodsHasTag', 'foreignKey' => 'good_id', 'associationForeignKey' => 'tag_id', 'conditions' => array( 'Tag.deleted' => null, ), 'unique' => true, ) ); var $validate = array( 'id' => array('notempty'), ); } ?>
tag.php
<?php class Tag extends AppModel { var $name = 'Tag'; var $hasAndBelongsToMany = array( 'Good' => array( 'className' => 'Good', 'joinTable' => 'goods_has_tags', 'with' => 'GoodsHasTag', 'foreignKey' => 'tag_id', 'associationForeignKey' => 'good_id', 'conditions' => array( 'Good.deleted' => null, ), 'unique' => true, ) ); var $hasMany = array( 'GoodsHasTag' => array( 'className' => 'GoodsHasTag', 'foreignKey' => 'tag_id', ) ); var $validate = array( 'id' => array('notempty'), ); } ?>
goods_has_tag.php
<?php class GoodsHasTag extends AppModel { var $name = 'GoodsHasTag'; var $belongsTo = array( 'Good' => array( 'className' => 'Good', 'foreignKey' => 'good_id', 'conditions' => array( 'Good.deleted' => null, ), 'unique' => true, 'fields' => '', 'order' => '' ), 'Tag' => array( 'className' => 'Tag', 'foreignKey' => 'tag_id', 'conditions' => array( 'tag.deleted' => null, ), 'unique' => true, 'fields' => '', 'order' => '' ) ); } ?>
※deletedは削除用フラグ
コントローラー
function add(){ $this->set('tags', $this->Good->Tag->find('list', array( 'conditions' => array( 'Tag.deleted' => null, )))); ... }
ビュー
<?php echo $form->input('Tag',array('multiple'=>'checkbox', 'label' => 'タグ')); ?>
このように書いておけば、例えば更新画面の場合は$this->dataに入ってるデータをデフォルトでチェックつけた状態で表示されますし。登録の際に$this->Good->saveAll($this->data);とすればgoods_has_tagsテーブルも更新されます。(更新の場合はDELETE、INSERTされます)
個人的にはHABTMでデータ持つのは面倒な気がしていてあまり好きじゃないので、多対多の場合はカンマ区切りで文字列でデータを持たせるように作ってます。
(goodsの場合だと、goods.tagのようなフィールドを作って文字列で)
文字列で持たせる場合も、以下のコードでチェックボックスを作成できます。
<?php echo $form->input('tag', array('type' => 'select', 'multiple' => 'checkbox', 'options' => Invariable::$TAG_TYPES, 'value' => explode(',', $this->data['Good']['tag']), 'label' => 'タグ')); ?>
※タグは定数Invariable::$TAG_TYPESで管理。
psql => \x psql => select * from users;
mysql> select * from users \G;
psqlもmysqlも縦でカラムを表示するようになるので崩れずに見やすくSELECTの実行結果を確認できるようになります。
コマンドのメモ
C:\>ftp ftp> op xxx.xxx.xxx.xxx Connected to xxx.xxx.xxx.xxx 220 Welcome to hikari-dream.com FTP service. User (xxx.xxx.xxx.xxx:(none)): linux 331 Please specify the password. Password: 230 Login successful. ftp> put c:\test.txt 200 PORT command successful. Consider using PASV. 150 Ok to send data. 226 File receive OK. ftp: 13 bytes sent in 0.00Seconds 13000.00Kbytes/sec.
個人的にソースコードは見やすく書きたいタイプの人間なのですが、Xcodeにはフォーマット機能がありません。
調べたところ、外部のコード整形プログラムUncrustifyを使用して、それをXcodeから呼び出す形で実現できるようなので、フォーマットできるようになるまでの備忘録として書いておきます。
githubにソースコードが上がっていたのでそれをダウンロード、configure、make、installします。
$ cd ~/Desktop/bengardner-uncrustify-20b21c2/ $ ./configure $ make $ sudo make install
成功すると /usr/local/bin/uncrustify にインストールされます。
また、ビルドしたuncrustifyディレクトリのtests/configには、サンプルで設定ファイルがあります。この中のobj-c.cfgという設定ファイルを使ってもいいのですが、今回参考にさせて頂いたサイトのdrikinさんが設定ファイルを公開されていたので、そちらをとりあえずそのまま使用させてい頂きました。
設定ファイルを/usr/local/share/uncrustify/にコピーします。
$ sudo cp ~/Desktop/obj-c_dk.cfg /usr/local/share/uncrustify/
Xcodeからユーザースクリプトを登録します。
入力を文書全体、出力を書類の内容を置き換える、ショートカットをShift+Ctrl+i、スクリプトを以下のものを登録しました。
#!/bin/sh
echo -n “%%%{PBXSelection}%%%”
/usr/local/bin/uncrustify -q -l oc+ -c /usr/local/share/uncrustify/obj-c_dk.cfg <&0
echo -n "%%%{PBXSelection}%%%"
[/bash]
これで、フォーマットできるようになりました。
ビルドする際に自動でフォーマットもできるようなので、その場合はCode beautifier and formatter with Xcodeを参考に。
設定ファイルについてはこちらが参考になります。
$data = array( [0] => array( "foo" => 10, "bar" => 5, "hoge" => 7 ), [1] => array( "foo" => 8, "bar" => 6, "hoge" => 1 ), [2] => array( "foo" => 10, "bar" => 5, "hoge" => 7 ) );
foo列でソートする場合
foreach($data as $key => $row){ $foo[$key] = $row["foo"]; } array_multisort($foo,SORT_DESC,$data);
foo,bar,hogeでソートしたい場合
foreach($data as $key => $row){ $foo[$key] = $row["foo"]; $bar[$key] = $row["bar"]; $hoge[$key] = $row["hoge"]; } array_multisort($foo,SORT_DESC,$bar,SORT_DESC,$hoge,SORT_DESC,$data);
素晴らしすぎる!