プログラミング

【CakePHP】複雑なキーワード検索のconditions

(投稿時のバージョン:CakePHP 1.3.6)願望テキストボックスに『k(空白)e』と入力すると、 下のテーブルの『name』、『detail』、両方のフィールドを検索し、 『k』も『e』も含む行、すなわちkirumin』と『ken』が 結果として帰ってくるようなconditionsを自動…

【CakePHP】DB検索の際の大文字小文字の区別のまとめ

最終更新: 2012-08-16 (CakePHP 2.2.1) hoge HOGE Hoge hOgE下記の3つのfindの形式で、検索する文字列の大文字小文字の区別は なされるのかどうか、MySQLとSQLiteで調べてみました。 【1. find(通常)】 $this->Model->find('all', array( 'conditions'=>arra…

【jQuery】スターでレーティング

サーバサイド言語は使わず、jQuery+HTMLで作りました。 (レーティングと言うんでしょうか、それともランキングと 言うんでしょうか…? 星評価?)【サンプル】実演 : http://www.usamimi.info/~sutara/sample/rankStar/ DL : http://www.usamimi.info/~sutara…

【jQuery】ボックスをドラッグで並べ替える

デモ: https://codepen.io/sutara79/pen/wxjBwg ドラッグできるボックスの並び順をクッキーに保存するサンプルです。 ページを再読み込みしても、クッキーを元に並び順を復元します。使用したライブラリ、プラグイン jQuery.UI Sortable http://jqueryui.com…

【jQuery】料金表を動的に書き換える

デモ: http://code.runnable.com/U8Pg6_j8tiVQZ29X/ 初期状態 『片面料金』をクリックすると、料金が変わる。 『両面料金』をクリックした場合も同じ。 ※3桁ごとにカンマをつける関数は、下記のページのコードを使わせていただきました。 http://webdev.sees…

【PHP】fgetsの簡単なサンプル

テキストファイルを"fgets()"で1行ずつ読み込み、ドロップダウンリストを作ります。 デモ: http://code.runnable.com/U8OlTCaTaKN8FEqH/ Yahoo!知恵袋の質問に答えるためというのが第一の理由ですが、基本に立ち返って復習するためにも、DBではなくテキスト…

【PHP,MySQL】最も簡単なDB接続の例

【サンプル】実演 : http://tw-hashtag.sakura.ne.jp/sample/phpSearch/index.php DL : http://tw-hashtag.sakura.ne.jp/sample/phpSearch/phpSearch.zip【ソースコード】【テーブル構造】 CREATE TABLE `tbl_01` ( `id` int(11), `name` text, `explain` te…

【HTML】文書宣言による、各ブラウザでの標準・互換モードの違い

各文書宣言で標準モードになるか? IE6 IE7 IE8 Firefox3.6 Chrome7.0 Safari5.0 Opera10.63 文書宣言無し × × × ○ ○ ○ ○ HTML4.01 ○ ○ ○ ○ ○ ○ ○ XHTML1.0 ○ ○ ○ ○ ○ ○ ○ HTML5.0 ○ ○ ○ ○ ○ ○ ○ 各文書宣言の詳細は以下のとおり 【HTML4.01】 【XHTML1.0】…

【jQuery】メッセージの循環表示

上のように、ボックス内のメッセージが時間と共に なめらかに切り替わるサンプルです。 …こういう、装飾的な機能はほとんど勉強せずにいたので 今回、サンプル制作にあたり、苦労しました…。 【実演ページ】http://www.usamimi.info/~sutara/sample/cycle_me…

【CSS3,jQuery】半透明のプルダウンメニュー

こんな感じで。 CSS3を使っているので、IEとOperaでは動きません。 また、JavaScriptライブラリのjQueryを使っています。 【実演ページ】 http://www.usamimi.info/~sutara/sample/opacityMenu/ 【使用したCSS3】 背景色のみを半透明に指定 background-color…

【ajaxSuggest】動的に追加したテキストボックスに適用したい場合

※jQueryプラグインajaxSuggestについて 動的に追加したテキストボックスに対してajaxSuggestを 指定したい場合は、新たに生成したテキストボックス ひとつずつに対して行なってください。 【HTML】 <ul id="hoge_list"> ... </ul> <input type="button" value="追加" id="hoge_btn"> 【JavaScript】 //はじめから設置されているものにa…

【PHP】array_diffの使用例

1〜100までの100個の数字から、20個の数字を重複せずに選択し、 それ以外の数字を並び替えて表示する処理で『array_diff()』を 使ってみます。 【実験ページ】 http://www.usamimi.info/~sutara/sample/arr_diff.php 【ソースコード全体】 <html> <head> <meta charset="UTF-8"> </head> <body> </body></html>

【PHP】最近更新されたページのタイトルを目立たせる

対象ファイルの更新時刻が24時間以内ならば、CSSクラスを追加して目立たせます。 下のサンプルでは、対象ファイルへのリンクテキストの背景を赤くしています。 デモ: http://code.runnable.com/VIpPAeUZRHcffdY2/

【PHP】配列から、値が重複していないものだけを取り出す

『array_unique()』のように重複を削除してすべてをユニークに するのではなく、最初からユニークなものだけを取り出す方法です。 今回主役の関数は『array_count_values()』です。 http://www.php.net/manual/ja/function.array-count-values.php 配列内の…

【PHP5.3】すべてのエラーを表示するようにしました。

【PHP 5.3】 php.iniの初期設定は以下のようになっています。 error_reporting = E_ALL | E_STRICT『非推奨のスクリプトを除くすべてのエラーを表示する』 という意味です。 これを以下のように変更しました。 error_reporting = E_ALL『エラーはすべて表示…

【jQuery】セレクトボックスの項目を削除したのち、残りの項目をアラートするサンプル

こんな感じで、セレクトボックスの項目を削除したら 残りの項目がアラートで表示されるコードです。 キモは、『option:eq(0)』のようにして残りの項目の文字列を 順番に取得していく箇所です。 【サンプルページ】 http://www.usamimi.info/~sutara/sample/s…

【jQuery】入力フォームを追加するサンプル

jQueryの.clone()メソッドで、入力フォーム一式をまるごとコピーするようにしています。 その後、idの通し番号のみを書き換えています。デモhttps://codepen.io/sutara79/pen/mjLyWr 応用 追加したフォームを削除したい場合は、下記の記事をご覧ください。 h…

【正規表現,jQuery,PHP】twitterハッシュタグを抽出する

最終更新: 2014-12-15 説明を簡潔にするため、JavaScriptのみを例に挙げます。なお、現在はTwitter本家から正式なライブラリが公開されているので、そちらを参考にするのがいいと思います。 https://github.com/twitter/twitter-text以下は、私が勝手に作り…

【CakePHP】mod_rewriteのルールに従っていないファイルにもアクセスしたい

CakePHPのフォーラムでの質問に興味をそそられて 自分なりにいろいろ調べてみました。 【目標】下記を同時に実現する。 http://example.com/index.html(非Cake) http://example.com/hoge/fuga.html(非Cake) http://example.com/controller/action(Cake) 【結…

【PHP】preg系で日本語を使う場合、パターン修飾子『u』は不可欠

結論 (2018年8月2日現在)検索対象にマルチバイト文字が含まれていても、抽出したい文字に含まれていなければ不要。 しかし安全のため、どんな時でもパターン修飾子"u"を付けるべき。実験 デモ: http://sandbox.onlinephpfunctions.com/code/dab6f408a93e5113…

Google検索のように『GET送信+ページング』をCakePHPで実現するには

【CakePHP 1.3系】 最終更新:2011年12月07日 結論以下のようなURLを生成すればよい。 【通常】 1ページ目 http://example.com/posts/search?keyword=hoge 2ページ目以降 http://example.com/posts/search/page:2/keyword:hoge【検索文字列にスラッシュが含ま…

URLを抽出する正規表現はどう書くべきか

最終更新:2012/02/05 文字列の中からURLを抽出すうえで、なるべく簡単な正規表現に したいとき、僕は下記のように書くことにしました。 /(?:^|[\s ]+)((?:https?|ftp):\/\/[^\s ]+)/空白文字と全角スペース以外の文字すべてを受け入れています。 ちょっとや…

【jQuery】マウスオーバーでポップアップを表示する際の注意(IE対策)

あるエリアをマウスオーバーするとボックスがポップアップで 表示される処理で、ボックスの位置合わせをするとき、 基準となるエリアの右や左ではなく、下に表示するのであれば、 X座標・Y座標を計算して設定するのではなく、appendで追加して やれば簡単に…

【JavaScript】replaceで、キャプチャ番号ごとに別々の処理を行いたい

replaceで、置換の方法をコールバック関数に記述する場合、 キャプチャ番号ごとに別々の処理を行うにはどうすればいいか。 var str = 'abc'; str = str.replace(/(a)|(b)|(c)/g, function(){ //コールバック関数 } );コールバック関数に、キャプチャされるグ…

【PHP】preg_replace_callbackで、キャプチャ番号ごとに別々の処理を行いたい

下記のような文字列を格納した変数に対して、$text = 'abc';下記のような置換を行うと、コールバック関数には どのような値が渡されるのか、 $text = preg_replace_callback( '/(a)|(b)|(c)/', 'hogeCallback', $text );print_rで確認してみました。 functio…

【jQuery】キー入力の検知は、ブラウザ毎に処理を分ける必要がある

最終更新: 2012-11-11 ※ 分岐の必要はありません。 全てのブラウザで"keydown"が適しています。 残り使用文字数を表示するなど、キー入力のたびに何らかの処理を おこないたい場合、キー入力を検知するイベントハンドラとして "keypress"と"keydown"どちらが…

【CSS】長い文字列をCSSで強制的に改行させたいときは『word-wrap:break-word;』を使うべし。

最終更新: 2018-08-20 overflow-wrap: break-word; (旧称: word-wrap: break-word;) 長所: 単語全体が 1 行に収まる長さの場合は、単語が中途半端に分割されることを防ぐために単語の前で改行してくれます。 短所: 幅の指定が必要です。 テーブルセルやflexb…

【PHP】『array_search()』の注意点

※注意点、といっても、単に僕が馬鹿なだけだったのですが…orz失敗 $hoge = array('a', 'b', 'c'); $key = array_search('a', $hoge); if ($key) { //見つかった } else { //見つらなかった }配列を検索した結果、見つかった要素のキーが[0]だった場合、 失敗…

【CakePHP】コントローラ内で絶対パスのURLを取得する

(CakePHP2.2.1 でも確認しました。 2012-07-24) 『http://』から始まってルートまでの絶対パスを、 たとえば『http://hoge.com/Root/』のようなURLを取得するには、 ビューでは下記のようになります。 url('/', true) ?>これをコントローラ内で行うには、 $h…

【IE8】border-radius.htc の多用はエラーになる。

IEでも角丸を実現するビヘイビアのファイルにもいろいろあるようですが、 今回は下記の『border-radius.htc』です。 http://code.google.com/p/curved-corner/ 【検証ページ】 http://www.usamimi.info/~sutara/sample/border-radius.php background: #999; …