情弱エンジニアのなかのblog

一人前のエンジニアになる為のブログです

heidiSQLの使い方

最近SQLの制作をしていましてテストデータを制作するのに時間がかかっていたので 簡単にテストデータを作成するためにheidiSQLというツールを使いました。 なかなかに便利だったのでインストールの手順と使い方を記載いたします。 前提としてXAMPPが必要にな…

MySQLの外部結合の条件について

SQLの制作で結合を使うのですが外部結合を使う際の注意と仕様を今一度まとめたいと思います。 以下のようなテーブルがあると仮定いたします。 customersテーブル 顧客名 +---+-------+ |id |name | +---+-------+ |1 |yamada | |2 |tanaka | |3 |satou | +--…

MySQLで初回購入後の顧客データ

SQLで初回購入の年月と初回流入の媒体を指定して顧客を分析して その顧客の月毎かつ媒体ごとの売上とユニークな顧客数を出すという処理を制作したので手順を記載いたします。 今回は初回購入月と初回流入媒体を指定することを前提とします。 まずは以下のよ…

jQuery でセレクターの指定2

前回jQueryでセレクター指定の記事を書いたのですが まだセレクターについて書くことがあったので記載していきます。 前回の記事はこちらになります。 nonaka-katuma-hal.hatenablog.com 初期状態はこのようになっているものとします。 HTML <ul> <li>テキストテキス</li></ul>…

jQuery でセレクターの指定

先日jQueryでアコーディオンの制作をして記事を書いたのですが その前にセレクターの指定から書くべきだなと思ったので今回はjQueryのセレクターについて記載していきます。 HTMLのどの要素を操作するかをセレクターで指定していきます。 本編に入る前に本記…

jQueryでアコーディオンの制作

アプリの制作をしていまして、アコーディオンを使ったメニューを制作したので手順等を記載いたします。 まずはHTMLは以下のように記載いたしました。 <html lang="ja"> <head> <meta charset="UTF-8"> <title>アコーディオン</title> <script type="text/javascript" src="js/jquery-3.2.0.min.js"></script> <script type="text/javascript" src="js/menu.js"></script> </meta></head></html>

CakePHP cssが反映されない時の対処方法

CakePHPでアプリの制作していてcssを編集してブラウザで確認した際に編集点が反映されていないという事があり、 原因を調べて対応したので手順等を記載いたします。 まずは原因ですが もしかしたらブラウザがcssをキャッシュしているのではないか? という記…

SQL サブクエリの扱い方について復習

SQLを書いていてサブクエリを使うのですが基本的な使い方のおさらいをしておきたいと思ったので記載いたします。 今回はデータうんぬんではなく、サブクエリを使う際の注意になります。 まず以下のようなサブクエリの使い方をしているとします SELECT custom…

SQL データの集計に関して

売上の計算をするSQLを制作していまして、特定条件で絞り込んだ顧客の初回購入から〇ヵ月間の売上を取得する という処理を制作したので、手順等を記載いたします。 まず前提として以下のようなテーブルがあるとします。 customersテーブル 顧客名 登録日(顧…

SQL JOINの注意点について

初回購入商品ごとに顧客を出力して顧客たちの初回購入月の総売上を出力するSQLを作っていたのですが 問題点があったので記載いたします。 まず今回このようなデータが入っているものとします。 customersテーブル 顧客名 +---+-------+ |id |name | +---+---…

PHPでDBのデータを扱う

PHPのアプリケーションを制作していてDBを扱う方法を学んだので記載いたします。 今回はDBの挿入と更新と削除を行う方法に絞って説明いたします。 1.挿入 挿入の処理は以下になります $stmt = $db->prepare("INSERT INTO テーブル名 (name, value) VALUES (:…

MySQLで大きい数値の表示とGROUP BYで複数指定の方法

MySQLを使っていて覚えた技術を記載いたします。 1.表示する数値を3桁でカンマ区切りにする 総売上など、ある程度大きい数値を出力するSQLを作った際に、そのまま表示すると見にくくなります。 SELECT total_sales as '総売上' 総売上 10000000 表示する数値…

SQL WHERE 1の意味について

SQL文でときどき SELECT fuga FROM hoges WHERE 1 といった書き方を見かけたのですがどういった意味なのか分からなかったので、調べたので記載いたします。 まず上記のSQL文は SELECT fuga FROM hoges と結果は変わりません。 [where 1]に関してですが、MySQ…

MySQLで特定期間のデータを抽出する

ある期間に始めて購入があった顧客を取り出して、購入した月から3か月間の累計購入金額を 出力するという処理を作ったので手順等記載いたします。 今回のブログでは3つのテーブルを使います(SQL文では2つ) 構造を記載いたします。 customersテーブル 顧客名 …

CakePHPでSession情報を取得する

CakePHPで記事を投稿するアプリケーションを作っていて Authを使ったユーザーログイン機能を実装したのですがログイン中ユーザーが記事を投稿する事が出来ておらず、 今回記事を投稿する際Sessionの情報からユーザーを判断する処理を作ったので手順書等を記…

SQL小数点の表示とtimestamp

SQLを扱っていて、小数点の表示とtimestampを扱ったので、使い方等記載いたします。 1.小数点の指定 データの平均を出す計算をするときなどで、小数第何位まで表示するか指定したいときがあると思うのですが そういったときに使えるのが[DATE_FORMAT]です。 …

MySQLで日付に関する処理

日付の処理の実装 MySQLでとある月から〇ヶ月後のデータを取得するなどを行ったので手順書等を記載いたします。 1.DATE_FORMAT 日付データから特定の数値だけ必要な時はDATE_FORMATを使います。 例えばフィールド[birthday]に[1994-05-23]という形式で誕生日…

MySQLでデータの結合と月ごとのデータの出力

MySQLでサブクエリやDATE_FORMATを使用したので、 手順書等を記載いたします。 1.月毎にデータを出力する データを月毎の結果で出力したい場合は DATE_FORMTというものを使います。 使い方としましては SELECT DATE_FORMAT(fuga_time, '%Y-%m'), COUNT(*) FR…

HTML5/CSS3を基礎から学ぶ

HTML5/CSS3の使い方等確認 現在HTML5やCSS3のコーディングの学習をしていまして そこで改めて学んだ知識等記載していきたいと思います。 ボックスモデル CSSのボックスモデルについて記載致します。 HTML文書内に配置された要素は4つの領域をもち、階層があ…

公開用アプリケーションのGit管理方法

Git

サーバーのアプリをGitで管理する サーバーでアプリを公開しているのですが、今後アプリをブラッシュアップをしていく予定なので リモートで制作したものをリポジトリに上げて、サーバーのアプリはpullするだけにしたいと思います。 1.サーバーのでGitHubの…

CakePHPでComponentの実装

使いまわせて便利なComponent! 現在CakePHPでアプリを制作していまして、Componentを実装したので手順等を記載致します。 商品の紹介記事を投稿するアプリで記事データ(articles)には商品データ(products)がひもづいていて、その商品データには商品を売って…

サーバーを借りてアップロードするまでの流れ(LOLIPOP編)

制作したアプリを公開しましょう! 現在制作中のアプリをサーバーを借りてアップしたのですが アップするまでに色々と苦労したので手順などを記載致します。 ちなみにアプリはCakePHPで制作していまして、DBの接続などでつまずくこともあったので 同じような…

phpでランダムな処理があるアプリの注意点

乱数生成! アプリでランダムな数値を扱う処理を作ったのですが、なにやら偏りがあるということが発覚したので その対処等を記載致します。 1.rand()は偏る? アプリでランダムな処理をする時にshuffle()を使っていたのですが、 どうやらshuffle()では内部で…

CakePHPでSQLを使いデータを出力する

以前データをカテゴリーごとに出力するという記事を投稿したのですが findではなくSQLでデータを持ってくる処理を実装したので記載致します。 以前の記事 nonaka-katuma-hal.hatenablog.com 1データの取得とModelへの引き渡し こちらに関してはControllerでV…

CakePHPで記事データをカテゴリーごとに出力する方法

1.checkboxでカテゴリーをユーザーに選択させる機能の実装 現在CakePHPで記事を投稿するアプリを制作していまして ある特定の検索条件ごとに記述を出力する方法を記載させて頂きます。 記事に付随するCategoryというデータが検索条件になっています。 2.Cont…

CakePHPのBehaviorを自作する方法

Modelを拡張させる方法 現在cakePHPでアプリを作っていてBehaviorの自作について理解したので手順等記載していきます。 Behaviorを自作するときの基本の基本になります。 1.なぜBehaviorを作るのか まずCakePHPアプリ制作において、なぜBehaviorを使うのかと…

CakePHP ログイン認証チェック

CakePHPのAuthComponentでログイン認証がうまくいかない時は? CakePHPで記事を投稿するアプリを作っていてログイン状態の保持の為にAuthComponentを利用していたのですが ログインページでユーザ名とパスワードは合っているのにログインができないというこ…

Cakephp でjQuery を使ってみる

マウスオーバーした時に枠線を表示する CakePHPで記事を投稿するサイトを作っているのですが、マウスオーバーで反応があるものを作りたいと思い 簡単ではありますがjQueryを使ってマウスオーバーで記事に枠線をつけたので手順等記載していきます。 1. jsファ…

CakePHP Paginatorでページ分けと表示順を指定

記事の表示件数と表示する順番を指定する CakePHPで記事を投稿するアプリを作っていて、表示するページを分けたいと思いPaginatorでページ分けをしたので手順等を記載します。 1.ページを分ける まずはページごとに分けていきます。 Cntrollerを編集していき…

サブクエリの使い方

サブクエリでのWHEREについて 今回はサブクエリの使い方に関して記載していきます。 1.WHERE まずはサブクエリであるデータを検索して全体の平均以上もしくは以下の場合出力したいとき 例題 ・とあるショッピングサイトには会員がいて買い物をするごとにポイ…