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

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

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 まずはサブクエリであるデータを検索して全体の平均以上もしくは以下の場合出力したいとき 例題 ・とあるショッピングサイトには会員がいて買い物をするごとにポイ…

CakePHP 画像のサイズを決めて出力する

アップロードした画像を任意のサイズにして表示する 画像のアップロードが出来たらその画像を丁度いいサイズにして出したいでよね ということでやり方をアップします。 前提として「webroot」に「upimg」というフォルダを作っているものとします。 今回は私…

CakePHP画像のアップロード

ファイル形式の指定とフォルダを移動して保存するまで CakePHPでのアプリ制作で画像のアップロードを実装したので手順等を記載致します。 1.addでファイルをアップロード まず最初にやることは当然addでファイルのアップロードを出来るようにすることです。 …

SQLのビューとサブクエリについて

検索を楽に行うために 1.ビューの概念説明 2.ビューの作り方 3.サブクエリの概念説明 4.サブクエリの作り方 1.ビューの概念説明 まずビューとは概念的にはテーブルと同じようなものなのですが、違いは実際のデータを保存しているかどうかになります。 通常の…

bakeにおけるControllerについて

必要な情報をうまく使うにはコントローラーを使いこなしていきましょう CakePHPの制作を始めて、bakeの便利さに感動する毎日であります。 ただやはり万能というものではなく自分の理想通りに制作を進めたかったら決まった工程を踏まないといきません。 そこ…

vagrantを使っていてGitHubにリポジトリを上げられない時の対処法

Git

Gitは奥が深く一朝一夕では理解出来ませんね 現在vagrantを使って制作物をGitで管理しているのですが、Git add .やGit commit などはうまくいっても GitHubのリポジトリにpush出来ずに苦労したので解決法などを記載致します。 Git pushしたときのエラーログ…

vagrantを利用したCakePHP2系の環境構築その2

もう一山あった環境構築について vagrantで用意した環境でCakePHPを動かしていたら何かおかしい、CSSが読み込まれない、などがあったので 解決法を記載していきます。 vagrantにダウンロードしたCakePHPを入れる方法は以前書いた記事を参考にしてください。 …

CakePHPの命名規則について

MVCの命名規則を理解する CakePHPでどうにもこうにも進まないエラーが出ましてコードに間違いがないか探したのですが 原因は命名規則を違反しているというものでした。 1.命名規則の整理 2.モデル、ビュー、コントローラごとの命名規則 3.まとめ 1.命名規則…

vagrant up でYour VM has become "inaccessible." Unfortunately, this is a critical errorと出た場合

一旦落ち着くことが大切ね vagrantを使っていて、いつも通りvagrant upをしたら vagrant : Your VM has become "inaccessible." Unfortunately, this is a critical error 発生場所 行:1 文字:1 + vagrant up + ~~~~~~~~~~ + CategoryInfo : NotSpecified: (…

vagrantを利用したCakePHP2系の環境構築

一筋縄ではいかない仮想環境でのセッティング CakePHPの学習を始めて環境構築で何かと苦労したので手順等を載せたいと思います。 今回苦労したのが仮想環境でCakePHPを利用するという点でした。 ドットインストールを参考に進めると捗ると思います。 http://…

MySQL HAVING句とORDER BY句についてまとめてみました!

条件指定と並び替え HAVING句とORDER BY句の使い方等の説明を書いていきます。 HAVING句 まずSQL文にはGROUP BY句というものがあります、簡単に説明しますとGROUP BY句とはあるフィールドを選択してそのフィールドごとに出力するという意味があります。 GROU…

vagrantで管理しているアプリをgitやGItHubに連携させるには

GitHubでファイルを確認するには長い道のりがある お疲れ様です、制作しているアプリをそろそろGitで管理したいと思ってる方は必見です! さて今回はアプリをGitHubで管理したのでつまずいた点など記載していきます。 基本的な導入方法に関してはさらっと説…

DBの設計に関して

リレーショナルデータベースについて 制作しているアプリにDBを実装していきたいのですが、その前にDBの要件定義をしないといけないので、 そのやり方を書いていきます。 1.リレーショナルデータベースとは 2.外部キーとは 1.リレーショナルデータベースとは…

内部結合と外部結合の違いについて

INNER JOIN と LEFT OUTER JOIN この間MySQLのJOINについての記事を書きましたが、内部結合と外部結合についてよく分かっていなかったので今回まとめてみようと思います 1.前提条件 2.内部結合とは 3.外部結合とは 1.前提条件 まず説明を始める前に二つのテ…

CSRF対策について

サイト制作において大切なCSRF対策! 今回はCSRF対策について学んだので使い方などを書いていきます。 現在私自身webアプリを制作していて最近CSRFという言葉に出会ってかなり重要だと感じたので、これからwebアプリを作りたいと思っている人に参考にしてい…

MySQLの結合について

テーブルとテーブルを結合するにはJOINが必要! 今回はMySQLのJOINを覚えたので使い方を書いていきます。 1.なぜ結合するのか 2.前提条件 3.実際の使い方 1.なぜ結合するのか まずなぜ結合が必要かといいますと、DBには複数のテーブルが存在していまして、そ…

DBについて理解しよう!!

難しいことはドットインストールで覚えよう 今回はPHPとMySQLを組み合わせた使い方を学習したのでつまずいた点などアップします! ちなみにドットインストールの「PHPデータベース入門」を学びました 1.データの追加をしたいときとは? 2.検索の仕方とは? 3…

ランダム指名アプリケーション制作3

PHP

とりあえずの機能実装とエラー処理 まずまず、必要な処理の実装と例外時のエラー処理が出来たのでアップします! 1.必要なデータの取得 2.指定した人数分出力 3.エラー処理の実装 1.チェックボックスで必要なデータの取得 チェックボックスのデータを取得し…

ランダム指名アプリケーション制作2

PHP

フォームとPOSTを理解しよう ランダム指名アプリケーション制作の第二回目は大きくつまずいたのでモリモリ書いていきます! 1.ファイルを分割 2.チェックボックスのデータを渡す 1.ファイルを分割 まず前回作ったものは一つのファイル内で完結してたので、フ…

ランダム指名アプリケーション制作1

PHP

アプリケーション制作再開 お疲れ様です、半年以上久しぶりの更新になります、、、 今回から新たにPHPなどを使いアプリケーションを制作していきその軌跡を記していきます。 1.仕様 2.製作開始 1.仕様 一定数のメンバーからランダムに選出して名前を表示する…

サイトレビューサイト制作への道その11

管理者ログインを作る 1.管理者用画面にIDとパスワードを設定する 2.まとめ 1.管理者用画面にIDとパスワードを設定する かーなり久しぶりの投稿になります。順調に進むかと思われたこのサイトにも筆者の卒業制作という魔の手が、、、なんてことは忘れて今回…

サイトレビューサイト制作への道その10

cakePHPの別窓表示やBootstrapの枠組み 1.リンクを別窓で開く 2.見た目を良くするwebサイトっぽくする 3.カテゴリーを表示 4.3列に編集 5.まとめ 1.リンクを別窓で開く さあついに「サイトレビューサイト制作への道」も第10回に到達しました(ドーン) だん…

サイトレビューサイト制作への道その9

タグ検索、メニューを作る 1.枠とボタンを配置 2.特定のサイトだけ表示 3.まとめ 1.枠とボタンを配置 今回はメニューを作ってカテゴリーごとに表示させられるようにしていきたいと思います。 まず「View」「index」で枠とボタンを作ります。 <div class="sites index col-md-2"> <a href="#" class="list-group-item active">PHP</a> <a href="#" class="list-group-item">cakePHP</a> </div>

サイトレビューサイト制作への道その8

ユーザー画面 画像とテーブルと時々背景 1.データベースを貼り付け 2.テーブルを二列に分ける 3.背景色を付ける 4.画像をセットする 5.まとめ 1.データベースを貼り付け さて前回に引き続き、「Sites」の準備をしていきます。なんかデータベースがつながらな…

SourceTreeの共有など

憧れのおnewPCゲット 1.セットアップ 2.gitで共有 3.まとめ 1.セットアップ このたび新しいPCを手に入れました!!(ワーワー) 新しいPCなんで早いのなんの感動ものですね、今回の記事日記みたいになるな、、、 当然セットアップなどしてたので書くことはあ…