2つのテーブルを並べて1つのテーブルに見せたい場合、片方のテーブルのセルに内容を詰め込みすぎると、改行の都合で2テーブルの高さがずれてしまうことがあります。こうした自体を避けるため、2つのテーブルの高さを同期させるスクリプトを描いたので載…
データベースからテキストデータを引っ張り出してきて、ビューで表示させるにはこのように書くことが多いと思います。 ・コントローラの場合 public function index() { $this->set('items', $this->Item->find('all')); } ・ビューの場合 この場合'comme…
前回ajaxを使ってpostする方法について書きました。 【jquery】ajaxでpostする方法 - kento0824jp’s diary こちらで紹介した方法は jQuery.post()というメソッドを使うものでしたが、通信成功時と失敗時で処理をわけられないというデメリットが有りました。…
フォームヘルパーを使ってセレクトボックスを作るときはズバリ、以下の通りに書けば出来ます。 echo $this->Form->input('field', array( 'options' => array('りんご', 'みかん', 'バナナ'), )); $this->Form->inputの第2引数の配列に'options'というキーを…
CakePHPはMVCモデルという設計方式を採用しています。 この「MVC」とはそもそもなんなのか、ということでざっくり概要をまとめてみました。 今回のポイント ・MVCとは何なのか ・MVCのメリット MVCとは何なのか アプリケーションをモデル、ビュー、コントロ…
以前、その場編集をプラグインで実装するという記事を書きましたが結局うまく動かすことが出来ませんでした(下記参照) 【CakePHP】その場編集(edit in place)をプラグインでやってみる - kento0824jp’s diary 色々と先輩にアドバイスを伺った所、自分で作…
非同期通信の処理など、ページの遷移がない処理がうまく動作しない時、デベロッパーツールのconsoleに「500 Internal Server Error」が出ている場合があります。 こうしたとき、デベロッパーツールのnetworkタブを見ることで、エラー内容を確認することがで…
ajaxをつかって非同期的にpostする方法について基本的なやり方を書いておきます。 jsではpostしたいタイミングで以下のように記述します。 $.post('post先.php', { // 送りたいデータ data1_name : data1_content data2_name : 'data2_content' }, function(…
inputタグのチェックボックスは未チェックだとdisable属性がついてしまい、submitしてもなにも送信されません。「未チェック」という値がないということです。 では、「チェックしている=”1”」「チェックしてない=”0”」といったふうに値を設定するにはど…
ページネーションとは? たくさん並んだデータをページ分けして、任意のページを開きやすくすることです。 わかりやすい例はGoogleの検索結果です。ふつうGoogleの検索結果は、クエリにもよりますが膨大な件数で返ってきます。ところが実際に画面に表示され…
データベースへsave, 送信する前にフォームの入力内容を編集したいときってあると思います。 例えば入力フォームをデフォルトからいじったとかで、入力内容のフォーマットとデータベースのカラムの型が合わなくなってしまった場合なんかが考えられます。 こ…
excelのセルを書き換えるときのように、テキストをクリックしたら、テキストそのものが編集フォームに置き換わる(=その場編集、edit in place, eip)サイトがありますよね。 あれをCakePHPでやろうとしたのですが、検索でヒットした方法はAjaxヘルパーやjs…
excelの表みたいに「いまここを選んでますよ」というのを表示する機能をHTMLの表で実現する方法をまとめておきます。 今回は一つのセルだけ選択できるようにしたいと思います。これを実現するためにはざっくり次の2つの処理が必要になります。 クリックした…
先日、こんな感じ↓のレイアウトを作ろうとしました。 要素Aの子に横スクロールできる要素1があって、要素2がその下にくっついてる感じです。 今回親要素にはposition: relative、要素1にはposition: absoluteが設定されてるので、要素2は要素1の高さの…
ドットインストールのレッスンを参考にデータベースのレコードを編集する機能を実装してみました。 コントローラ、ビューのコードはこんな感じです。 public function edit($id = null) { $this->Item->id = $id; if ($this->request->is('get')) { $this->a…
CakePHPを使って入力フォームを作る方法を説明します。 まずはコントローラでFromヘルパーを読み込んでおきます。 public $helpers = array('Form'); 続いて次の3行をビューファイルに書きます。 Form->create('Item', array('url' => 'add'));?> Form->inpu…
データベースから読み込んだ日本語のTEXT型データが文字化けしてしまったときの 解決法をまとめておきます。 1. カラムの文字コードをチェック phpMyAdminでカラムの追加をする場合、照合順序という項目があると思います。 これが文字コードの設定になってい…
先日ドットインストールのレッスン「CakePHP2入門」を一通りやってみたのですが、感想としては「なるほど、わからん。」といった感じでした。 ドットインストールのレッスンは非常にわかりやすく、私もここ最近大変お世話になっていたのですが、今回のレッ…
cakePHPを動かせる環境を作りたいな~~ということでvagrantの導入を試みたのですが、初回起動が10時間たっても終わりません(# ゚Д゚) というわけで、会社の先輩に教えてもらったXAMPPというやつを導入してみることにしました。結果として導入成功したわけです…
以前webアプリを開発した際『$_GET』とか『$_POST』とかいった変数をプログラムの中で使っていました。 これまでの所、これらの正体やら挙動やらはあまり気にせず「なんか知らんけどフォームの送信内容が入ってくれてる便利なやつ」くらいに思っていました。…
私はwebページを開発する際主にchromeで動作テストを行っています。デバックの際もChromeデベロッパーツールを使うことが多いのですが、やってることはエラーログやCSSのプロパティを確認することぐらいでした。せっかくなので、知っておくと開発が捗りそう…
プログラミングの勉強をしているとよく「オブジェクト指向」という言葉が出てきます。 言葉は知っているけれど、「それって何なの」と聞かれたらうまく説明できません。というわけでこれから何回かに分けてオブジェクト指向について勉強していき、学んだこと…