Codeigniter:クエリ実行結果を取得する方法

Codeigniterクエリを実行した際の実行結果データ取得する方法をメモします。

実行結果のデータはオブジェクト配列で取得することができます。

下記に簡単な使用方法を記載します。


クエリ実行結果の取得方法

データベースの接続を行います。

$this->load->database();

クエリを実行します。

$sql = "SELECT id, name FROM user;";
$query = $this->db->query($sql);

result()メソッドを使用した場合

実行結果をオブジェクトの配列で取得します。

if ($query->num_rows() > 0) {
	$res = $query->result();
}

取得データ例

Array
(
    [0] => stdClass Object
        (
            [id] => 1
            [name] => name1
        )

    [1] => stdClass Object
        (
            [id] => 2
            [name] => name2
        )

        (省略)
)

result_array()メソッドを使用した場合

実行結果を配列で取得します。

if ($query->num_rows() > 0) {
	$res = $query->result_array();
}

取得データ例

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => name1
        )

    [1] => Array
        (
            [id] => 2
            [name] => name2
        )

        (省略)
)

row()メソッドを使用した場合

一つの実行結果をオブジェクトの配列で取得します。
複数データがある場合は、最初の行を取得します。

if ($query->num_rows() > 0) {
	$res = $query->row();
}

取得データ例

stdClass Object
(
    [id] => 1
    [name] => name1
)

複数行データがあり、取得する行を指定したい場合は
行番号を第1引数に指定します。

$res = $query->row(2);

row_array()メソッドを使用した場合

一つの実行結果を配列で取得します。
複数データがある場合は、最初の行を取得します。

if ($query->num_rows() > 0) {
	$res = $query->row_array();
}

取得データ例

Array
(
    [id] => 1
    [name] => name1
)

複数行データがあり、取得する行を指定したい場合は
行番号を第1引数に指定します。

$res = $query->row_array(2);

それぞれの用途によって使い分けるといいと思います。

HTML:スマホのホーム画面にサイトのアイコンを表示

スマホスマートフォン)やタブレットで、頻繁に利用するWEBサイトを
すぐ確認できるようにホーム画面に追加することがあります。

iPhoneの場合「ホーム画面に追加」を選択すればホームにサイトのアイコンを表示し
ブックマークすることができます。

しかし、アイコンの設定をしていないと、サイトのキャプチャ画像で登録されてしまいます。

sp_icon_1

アイコンを指定する場合、HTMLに下記のコードを追加すればアイコンを表示することが可能です。

下記に、スマホホーム画面に指定したアイコンを表示した時の方法をメモします。


ホーム画面にサイトのアイコンを表示

ホーム画面に使用するアイコンの画像を用意します。

apple-touch-icon

※今回は120px×120pxで作成しました。

作成したアイコンをアップロードし、headタグ内に下記のコードを記述します。
光沢のあり・なしを設定することが可能です。

※URLはアイコンまでのパスを指定します。

光沢ありの場合

光沢ありの場合は「apple-touch-icon」を指定します。

<link rel="apple-touch-icon" href="http://raining.bear-life.com/apple-touch-icon.png" />

sp_icon_2

光沢なしの場合

光沢なしの場合は「apple-touch-icon-precomposed」を指定します。

<link rel="apple-touch-icon-precomposed" href="http://raining.bear-life.com/apple-touch-icon.png" />

sp_icon_3

コードを記述し、サイトにアップロードします。
アップ後、「ホーム画面に追加」をすれば、上記のアイコンのように表示することができます。


上記はiPhoneでのみ確認しています。
また、ベーシック認証をかけているとアイコンを設定することができないので注意です。

Androidの場合は標準のブラウザではなく、Chromeで追加するとホーム画面にアイコンが表示されます。
ただ、バージョンによるかもしれませんので試してみてください。

CSS:スマホページのdiv要素にスクロールバーを表示

スマホスマートフォン)ページで、一部のdiv要素スクロールバーを表示させた時の方法をメモします。

利用規約など文章が長い場合、その要素にスクロールバーを表示して見せることがあると思います。

PCと同じようにコーディングしてスマホページを確認するとスクロールはできても、
スクロールバーは表示されませんでした。

しかし、CSSで「-webkit-overflow-scrolling:touch;」を記述するとスクロールバーを表示させることができます。
下記に「-webkit-overflow-scrolling:touch;」を使用した時の方法を記載します。


スマホ div要素にスクロールバーを表示

CSS

スクロールバーを表示させる要素に
「overflow: scroll;」
「-webkit-overflow-scrolling: touch;」
を指定します。

<style type="text/css">
div#scroll {
    height: 300px;
    width: 80%;
    padding: 5px;
    overflow: scroll;
    border: 1px solid #CCC;
    -webkit-overflow-scrolling: touch;
}
</style>

表示させる要素の高さ(height)を指定しないとスクロールバーが表示されないので注意してください。

HTML

スクロールして表示させる内容をスタイルを指定して記述します。

<div id="scroll">
スクロールして表示させる内容<br>
スクロールして表示させる内容<br>
    ・
    ・
    ・
</div>

表示例

sp_scroll

縦方向と横方向にスクロールバーを表示することでき、慣性スクロールをさせることができます。


上記はiPhoneでのみ確認しているので、他のAndroidなどの機種は試していないです。
後、OSのバージョンによって「-webkit-overflow-scrolling」が効かないみたいなので確認が必要です。

Linux:php.iniの設定を変更し、反映させる

phpでシステムを構築している際に、php.iniの設定内容を変更したい場合があります。

Linuxサーバに設置しているphp.iniファイルを変更し、
Apacheを再起動させれば変更した内容で反映させることができます。


php.iniファイルの場所を確認

php.iniファイルがどこにあるかわからない場合は、
phpinfo()を実行するとphp.iniファイルの場所を確認できます。

phpファイルに下記の内容を記述し、サーバにアップロードします。
アップしたファイルにアクセスすればphpinfoの内容が出力されます。

<?php phpinfo(); ?>

「Loaded Configuration File」にphp.iniファイルへの場所が出力されます。

php_ini_check


php.iniファイルの変更・反映

SSHでサーバにログインし、php.iniファイルを編集します。

編集する場合はバックアップを作成した方がいいと思います。
cpコマンドでバックアップを作成します。

cp /etc/php.ini /etc/php.ini.org

php.iniを編集する場合は下記コマンドを実行します。

vi /etc/php.ini

php.iniの内容が表示されるので、変更したい内容でファイルを編集します。
変更が完了したら、php.iniを保存し閉じます。

編集しただけだと反映されないので、Apacheを再起動します。

/etc/init.d/httpd restart

または、下記コマンドを実行します。

service httpd restart

再起動が完了すれば、変更した内容でphp.iniを反映することができます。
再起動後は、phpinfo()で変更内容を確認し、書き換わっていればOKです。


サーバ全体の変更を行ないたい場合はphp.iniファイルを書き換えるといいと思います。

SlideShare:SlideShareをサイトに埋め込む方法

プレゼンテーションやスライドショー、説明書(手順書)のようなものを
スライドさせて閲覧させることができる「SlideShare」というサービスがあります。

SlideShare

SlideShare_1

最近、WEBサイトやブログでSlideShareのスライドを埋め込んで紹介しているサイトを
見ることが多くなってきました。

そのSlideShareスライドデータをサイトやブログに埋め込んで表示させた時の方法をメモします。


SlideShareのスライドを埋め込む

埋め込みたいSlideShareのページにアクセスします。

アクセスしたら下記の「Share」をクリックします。

SlideShare_2

※「Embed」でも埋め込みコードを取得できます。

「Share」をクリックすると埋め込みコードが表示されるので、
「Embed」のコードをコピーします。

SlideShare_3

コードを選択するとサイズやスタート位置を選択することが可能です。

SlideShare_4

コピーした埋め込みコードをサイトに貼り付ければ、
SlideShareのスライドを埋め込むことができます。


WordPressでも上記の方法で埋め込むことができます。
また、下記のようにembedタグを使用してSlideShareのリンクだけで記述しても表示されます。

SlideShare_5

SlideShare_7

他にもプラグイン等を使用すれば、「WordPress Shortcode」のコードで
SlideShareのスライドを表示することができるようです。

SlideShare_6