うめぼしジョイスティック - ivoice

CakePHP、JavaScript、jQuery等のプログラミングについて書いていきます 思考は、うめぼしのように硬く、そして柔らかく。

入手できなくなったCakePHP2.xのACLプラグインはまだ手に入る事について

以前は(2014年ごろまで?)、CakePHPのグラフィカルなACLプラグインが無償で手に入りました。 以下参照。 CakePHP2でACLを超簡単管理できるプラグイン「ACL Plugin 2」 - たきゃはしですblog.takahash.com しかし、2015年現在では、公式サイトがアクセ…

CakePHP2.x系でコントローラーのアクションの動作が異様に遅い時の対処法

CakePHP2.x系でコントローラーを使っている場合に、アクション(そのページに飛ぶ等)が 非常に遅い場合は次を試してみましょう。 「SamplesController」という名前のコントローラーを使っていたとします。 その場合は

google AdSenseで広告のレイアウトを右寄せに設置する方法

google AdSenseで広告を右側に設置したい場合の方法です。 ①まずgoogle AdSenseの広告のコード全体を <div></div> でくくります。 ②次に、<div> にスタイルを付けましょう。 <div style="text-aligh:right"> google AdSenseの広告のコード <div> このように記述すれば完成です。 ちゃんと右寄せになったのを確認</div></div></div>…

HTML,CSSコーディングの際にリンクを画面の幅に合わせて改行させたい場合はword-breakを使おう

HTMLのリンクはひとつの単語として扱われてしまうので、 その場合はCSSのword-breakを使いましょう。 .word-break{ word-break: break-all; } こういうのを作ってしまいましょう! そして、画面に合わせて改行させたいHTMLのリンクのクラスにword-breakを指…

CakePHP2系のACLプラグインでログアウトユーザにアクションを許可するためのコード(方法)

※筆者は CakePHP2でACLを超簡単管理できるプラグイン「ACL Plugin 2」 - たきゃはしです このサイトの情報からACLプラグインを使っていましたが、2015年6月現在 ACLプラグインであるPlugin ACLがダウンロードできない状態になっています。 2015年7月追記 Ala…

SQL文で、ある値を1だけ大きくしたい場合のクエリ(MySQL)

あるテーブルAで、scoreという項目(カラム)の値を、すべて1だけ大きくしたい場合、 UPDATE テーブルA SET テーブルA.score = テーブルA.score + 1; このような形が基本となります。 では実際にクエリを打ってみましょう。 idが100以下のデータを更新した…

さくらインターネットでCRONを用いてシェルスクリプトを実行し、SQL文でバッチ処理を行う方法(MySQL)

自分の作ったMySQLのデータベースに対して、定期的(一日一回、など)にSQLクエリを実行したい、という場合があると思います。 ランキングサイトを作っている場合や、スコア計算などを行う必要がある場合などです。 年度や年が変わったときにSQLクエリを実行…

テーブルの年と月から3年以内(年度)のデータを判別してスコア計算、そうでなければ0を入れるクエリ

UPDATE data_results, (SELECT data_results.id, CASE WHEN ((YEAR(current_date)-2) < data_results.year) OR ( ((YEAR(current_date)-2) = data_results.year) AND (data_results.month >= 4) ) OR ( ((YEAR(current_date)-2) = data_results.year) AND (d…

SQLクエリの作成に役立つ参考サイト(MySQL)

このサイトは読みやすくてまとまっていてとても分かりやすいです。 「Webブラウザで気軽に学ぶ実践SQL講座」最新記事一覧 - ITmedia Keywordswww.atmarkit.co.jp これは、SELECTとUPDATEを同時に使う際に役立ったブログです。 yoko_net Blog : 結合したSELEC…

MySQLで子データのスコアを親ごとに足したものを違うテーブルに保存するクエリ。SELECTとUPDATEを同時に行う。

MySQLで子データのスコアを親ごとに足したものを違うテーブルに保存する方法です。 SELECTとUPDATEを同時に行います。 構造的には UPDATE 保存先テーブル名 ( SELECT 親テーブル名, SUM(子テーブル名.score) amount FROM 子テーブル名 LEFT JOIN 親テーブル…

XAMPP環境においてコマンドラインでMySQLに接続する際にはデータベース名を指定しよう

SQLに接続する際には cd コマンドで XAMPPのMySQLのbinフォルダに飛んだあとに(参考URL参照) http://blackpepper.oops.jp/wp/archives/2151 ユーザ名とデータベース名を指定して、そのあとにパスワードを入れるようにしよう。 参考URL http://phpjavascrip…

SQL文で子データのスコアを足して(SUM)、親のid + 子の合計 という形でデータを出力する方法

データベースで親のidが子とリレーションをしているとします。 具体的には、 『parents』 というデータベースと 『children_results』 というデータベースがあったとします。 親のデータは id parent_name のようになっていて children_resultsは、 id paren…

CakePHP2系でidの範囲を指定してデータを取り出す方法

タイトルそのままです。 idの範囲を指定して、データをfindで取り出します。 $box にデータを入れるとして、 データのモデルの名前はModelとしましょう。 例えば、id が100から200までのデータを$boxに入れたい場合は、 $box = $this->Model->find('all', ar…

SQL文でidを指定してデータを削除する方法(phpMyAdmin)

たとえば、schoolsというテーブルで、idが3から100までのカラムを削除したい場合は以下のようにします。 DELETE FROM schools WHERE id BETWEEN 3 AND 100;以上で、SQL文でデータを削除が出来ます。phpMyAdminの場合は削除したいテーブルのSQLタブを開いて実…

ラジオボックス、セレクトボックスで選択されている値をJavaScriptで検知する方法

:checked セレクタを使います。 $("[name='data[ActivityReview][overall_stars]']:checked").val() 上記では、nameでdata[ActivityReview][overall_stars]という名前のセレクタで指定されているラジオボックスにおいて選択されている値を出すことが出来ます…

属性セレクタを取得する際の書き方(JavaScript)

属性セレクタというのは、htmlタグの中にある、 例えば <input type="submit" value="投稿"> の中の type= などで指定できる値のことです。 この場合に、inputのなかのtype="submit"を取得したい場合は、$("input[type='submit']")とコンソールに書いてみましょう。 この指定方法で、属性セレク…

ひとつ前のページに戻るリンクを擬似的に作る方法

JavaScriptを用います。 <a href="#" onclick="history.back(); return false;">戻る</a> このように記述すれば、ひとつ前の画面に戻るリンクと同じ役割をします。

CakePHP2系でサニタイズをする方法

① まず、appのなかのVendorフォルダ内にmyfunction.phpを作ります

CakePHP2系でデータ読み出しが遅いときはコントローラーのusesを見直してみよう。

これはCakePHP2系でとても重要なことです。リレーションの順番に関することです。例えば、 SampleDog Appleという3つのデータベースをリレーションさせていたとして、 コントローラーSamplesControllerでDogとAppleのモデルを読み出したい場合は App::uses(…

twitter bootstrapで追加スタイルシートをスマホに用いるときのコツ(レスポンシブでスマホに対応)

@media (max-width: 767px){ .何らかのクラス{ CSSの命令文; } } こうして指定あげると、スマホ用に外部スタイルシートを追加できます。(要素を検証して、見てみましょう。)

PHPで、年月日時間のデータ(created)から日付だけ取り出す方法

PHPもしくはCakephpで、MySQLのカラムにcreatedを入れたあとなどに、 その中の年月日だけ出したい(時間はいらない)場合がありますよね。 今回は、そのような場合に、(年と)『日付』だけ取り出すテクニックです。 例えば、$exampleという変数に、Example…

CakePHPでvar_dumpのレイアウト表示が崩れたときの対処法

CakePHPでvar_dumpのレイアウトが崩れたときの対処法です。var_dumpのレイアウトが崩れると、配列の構造が分からなくなるのでとても困りますよね。レイアウトを直す方法があります。解決策は、var_dumpする前後に<pre>タグで囲んであげることです。<pre></pre> これで、配列</pre>…

CakePHPのサーチプラグインで、ページネーションにページ送りを表示する方法

①まず、CakePHPのサーチプラグインを実装する CakeDCのsearch pluginの記事が少ないので1個置いときますね。CakePHP Advent Calendar 2010 8日目 - kanonjiの日記d.hatena.ne.jp こちらが参考になります。 ② コントローラーにサーチ機能を付けたActionを作っ…

MySQLでUPDATEするときに、idを~~から~~まで、と範囲指定するやり方

resultsというテーブルで、idの1311から1326までの event_name_id という変数を全て59にしたい場合は、id BETWEEN a AND bを使って、UPDATE results SET event_name_id = 59 WHERE id BETWEEN 1311 AND 1326 とすれば完了です。

CakePHPで、テーブルに入っている行の最大値のidを取得するテクニック

例えば Threadというテーブルがあって id title body -------------------------- 1 hi hello 2 oh wow 3 hi apple 4 hi good 5 hi split 6 hi girl まぁ適当ですが、こんな感じで6つデータが入っているとしましょう。 今回やるのは、このThreadというテー…

CakePHPで掲示板などのサイトを作るときにipアドレスとホスト名を取得する方法

まず、コントローラーに App::uses('Sanitize', 'Utility');//サニタイズ用 これを追加します。サニタイズ用の準備です。 次に、addアクションに移動します。 ipaアドレスは$ip=$this->request->clientIp(false); これで取得できます。 リモートホスト名は $…

MySQLでidカラムを作る際の注意点

データベースを作るときには、掲示板などの場合は、 必ず「id」カラムを作りましょう。そして、データ型は、INT型にして、phpMyAdminの、「A_I」というチェックボックスをオンにしましょう。 AIはオートインクリメントの略です。データに割り当てられる番号…

CakePHPを習得するための定番、必須サイト

CakePHPにはCookbookという公式のチュートリアルサイトが存在します。 このページです。 入門 — CakePHP Cookbook 2.x ドキュメント CakePHPを自分のものにするには、上記の1ページをとにかく実装してみましょう。 とにかく最初が大変です。1ヶ月以上かか…

JavaScriptを書く際の基本的な注意点

JavaScriptを動かすときは、関数を作ります。 その関数を動かしたいときは、 $(window).on('load', function(){ }); の中に書いて、ウィンドウがロードされた後に実行するようにしましょう。 JavaScriptを読み込む場所も、使いたいHTMLの最後に読み込むよう…

SVGにリンクを埋め込むときにどうすればいいかという話

SVG

SVGにリンクを埋め込みたい場合は <path id="NAGASAKI_2_" fill="#000000" stroke="red" という pathのタグを <a xlink:href="http://google.com"> <path id="NAGASAKI_2_" fill="#000000" stroke="red" ................... </a> このようにして、hrefでリンクを指定してあげればOKです! あと、 fill="#000000" stroke="red" pathのidのあとに、fillで枠線の内側の色の指定、 strokeで枠線の色の指定が…</path></path>