PHPを学ぼう!

▼PHPを学ぶチャプターです。


PHPプログラマ 緊急募集!

 

素材メニュー

 ◆Chapter 1

 ◆Chapter 2

 ◆Chapter 3

 ◆Chapter 4

 

制作ヒント

 ◆制作のヒント

 

レッスンメニュー

 ◆Chapter2 練習問題

 ◆Chapter3 DB練習問題

 

サイト運営者がPHPを学んだ
お勧めの書籍です!
これ一冊で基本的なPHPの仕組み、簡単なプログラムの作成、SQLiteを使ったデータベースなどかなり学べる要素が詰まっています!

↓↓↓ ↓↓↓

PHPレッスンブック―PHP5対応

新品価格
¥2,520から
(2013/2/24 04:38時点)

 

 

サイバーテロの技法について書かれた書籍です!
ハッカーの手法を知ることでご自身のサイトがハッカーに攻撃されたときそれを防ぐ手法を紹介しています。

↓↓↓ ↓↓↓

PHPサイバーテロの技法―攻撃と防御の実際

新品価格
¥1,890から
(2013/11/5 10:09時点)

 

 

★初年度100円! サブドメインやメールアカウントを無制限に設置できます。
PHPやCGIは勿論、WordPress、Movable Type Open Source、掲示板、ブログ、ショッピングサイトなどが簡単に導入できるので複数サイトを運営したい場合に便利なサービスです。

↓↓↓ ↓↓↓

 

PHPが動作するサーバー

 

はじめてのHP | 無料素材 | タグ辞典 | CSSガイドEX | PHPを学ぼう!

◆Tip 8 - CSVをデータベースに取り込む準備

EXCEL(エクセル)などで制作されたデータをデータベースに取り込むには、ファイルを一度、csv などのファイルに変換しなければなりません。
表計算ソフトのファイルのままでは取り込みができないのです。
タブ区切りの text ファイルとしてもいいのですが、一般的には CSV ファイルに変換するやり方が多いようです。

 

ではファイルを取り込むときにはどんな注意が必要でしょうか?

  1. 文字や数字の間に "," (カンマ)や " "(タブ)が入っていないか?
  2. 文字や数字の間にクォーテーション( ' )やダブルクォーテーション( " )が入っていないか、もしくは囲っていないか?
  3. 文字コードが "utf-8" になっていないか?

主にこの3点といえるでしょう。

 

文字や数字の間に "," (カンマ)や " "(タブ)が入っていいたりすると、データベースに取り込み時に思いのよらない箇所で区切られエラーを起こすことがあります。
エクセルなどの表計算ソフトでは問題なく開けるのに・・・。
例としては次のような文字列です。

・1,000円
・札幌市,さいたま市,仙台市,千葉市,横浜市は政令都市です。
・コマンドは、上 下 右 右 A Bです。

 

文字や数字の間にクォーテーション( ' )やダブルクォーテーション( " )が入っていたりするとエラーを起こすことがあります。
例としては次のような文字列です。

・I'm lovin' it.
・htmlの改行のタグは、"<br>" か "<br />" を使います。

クォーテーションはエスケープすることも可能です。

 

文字コードについては、PHP は "utf-8" の文字コードと相性がいいのでデータべースも "utf-8" で作るのが望ましいです。
Excel などで作った csv ファイルは、文字コードが "SJIS" になっています。
このまま文字コード変換をしなければ文字化けした状態でデータベースに取り込まれることになります。
例えば "申請書" は、"瑞ソ書" として登録されるのです。
これは文字コードの5c問題で "表"、"予"、"申"、"能" などが上手く変換できないことで知られています。

 

注意点の2と3についてはプログラムで制御して取り込むこともできるでしょうが、1については一括処理をすると必ずといっていいほど不具合が出ます。
数箇所の修正で済むなら手直しもできますが、100件を超えると流石に面倒くさくなりますね。

 

そこで Excel からのデータ変換のやり方を自己流ではありますが紹介しておきます。

 

取り込みたい CSV ファイルをエクセルなどの表計算ソフトで開きます。
ここでは次の表、「AKB48 32ndシングル選抜総選挙」(2013年6月8日)の結果で説明します。

名 前

投票数

所属

指原 莉乃

150570

HKT48,Team H

大島 優子

136503

AKB48,Team K

渡辺 麻友

101210

AKB48,Team A

柏木 由紀

96905

AKB48,Team B

篠田 麻里子

92599

AKB48,Team A

松井 珠理奈

77170

SKE48,Team S

松井 玲奈

73173

SKE48,Team E

高橋 みなみ

68681

AKB48,Team A

小嶋 陽菜

67424

AKB48,Team B

宮澤 佐江

65867

SNH48

板野 友美

63547

AKB48,Team K

島崎 遥香

57275

AKB48,Team B

横山 由依

53903

AKB48,Team A

山本 彩

51793

NMB48,Team N

渡辺 美優紀

44116

NMB48,Team N

須田 亜香里

43252

SKE48,Team KⅡ

 

 

Excel で開くと次のように表示されます。

csvファイル取り込みイメージ

次に "A" と "B"、"B" と "C" の間に空白の列を挿入します。
空白のセルに "<>" を入れると次の図のようになります。

加工イメージ

データとして使いたい部分を選択し、

選択イメージ

テキストエディッタを "utf-8" モードで開き、コピペすると自動で文字変換がされます。
保存する拡張子は、"csv" でも "txt" でもかまいません。
保存された文字コードは、"utf-8" になっていますので文字コードの呪縛からは開放されます。

 

テキストエディッタで次の処理を加えます。

  • "<>"前後の半角スペースを削除する
  • クォーテーション( ' )やダブルクォーテーション( " )を全角にする

大体、この処理(全置換)を加えたファイルであれば「CSV Loader」でファイルを読込みデータベースへ登録するのに問題なく行えるでしょう。

データの中に "," が一つも無ければ、"<>" の部分を "," にして利用することもできます。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ex-mode.net | ツールEX | 素材EX | アフィモール | 初級者向 初めてのホームページ作り | Htmlタグ辞典 | 初めてのプランター菜園 | リンク・ボード
気のみ気のままなブログ | CSSガイドEX | ホビ★コレ | 班長日記!

▲UP

Copyright (C) ex-mode.net 2017. All Rights Reserved.