初めてのシステムと日記

システムも日記も初めてです。

2009-01-01から1年間の記事一覧

DISTINCT

SELECT文でレコードを取ってくる際に、重複を除外するケースがあった。 重複レコードを除外する場合、DISTINCTを使用する。 SELECT DISTINCT [col_name1],[col_name2],... FROM [table_name]

mysqldump

データベースや特定のテーブルをダンプする。 ・全てのデータベースのバックアップ mysqldump [OPTIONS] --all-databases > [file_name] ・特定のデータベースのバックアップ mysqldump [OPTIONS] [database_name] > [file_name] ・特定のデータベースの指定…

ORDER BYでのnullの取扱

ひっかかったのでメモ。 ID TEST -- ---- 1 100 2 3 3 null 4 40 SELECT * FROM table_name ORDER BY TEST ASC; ID TEST -- ---- 2 3 4 40 1 100 3 null nullは末尾に配置 SELECT * FROM table_name ORDER BY TEST DESC; ID TEST -- ---- 3 null nullは先頭…

XHMTL・3キャリア共通のマーキー

wap-marquee ↑が共通のCSSでのマーキーです。これを使うにあたっての注意事項。 1.style属性に記述 そうしないとdocomoに対応できない。2.-wap-marquee-loop:infinite;を宣言 auで上記宣言しないと一回しかループしません。3.PCでは機能しない 携帯向けなの…

3キャリアでの入力モード指定

通常はフォームのテキストとかの入力欄は日本語が初期状態になっている。これを初めから半角英数字モードにする方法。キャリアによって、さらにhtmlかxhtmlかによってモードの指定方法が異なるのでメモ。 ・html inputタグの中に指定する。 <input type="te…

Javascript・jQuery:内容表示

phpだとvar_dumpで変数をチェックできましたが、 jQueryとかだとどうなんだろうなと思って調べたのでメモ。 toSource ・書式 関数orオブジェクト.toSource() ・サンプル var array = new Array("red", "green", "blue"); str = array.toSource(); //["red", …

正規表現(match)、object関連

jQueryでリンクのページIDを取得する処理。 //jsのmatchを使って正規表現して取得する。 var page = jQuery("a").attr("href").match(/pageID=\d{1,}/); //pageID=1 とか マッチング表現は以下の通り A Aという文字 ABC ABCという文字列 [ABC] A、B、Cのいず…

MySQL:プログラムのコード量を減らすMySQL関数

という記事を見つけて便利そうだったので。バシャログさん 「プログラムのコード量を減らす MySQL 関数」 http://c-brains.jp/blog/wsg/09/10/28-144535.php DATEまわりは特に便利そうでした。今までとりあえずSELECT文で取ってきて、PHP側でゴリゴリしてコー…

Linux:PATHの通ってないコマンドの実行

タイトルの通りのコマンドを実行する時、exportでPATHを通して実行してましたが、調べてみたら直接PATHを指定してコマンド打てば実行できる。 /usr/sbin/ntpdate [サーバーアドレス]

Smarty:{foreach}{foreachelse}

テンプレートで連想配列をループさせる。 {foreach from=$Array key=k item=i} <li>{$k}:{$i}</li> {/foreach} from属性はループさせる値の配列item属性は現在の要素を示す変数名key属性は現在のキーを示す変数名 DBで検索した結果を表示する時、結果がなければ「見つ…

Oracle:DECODEとCONCAT

・DECODESQLの中でIF文のような条件式を使うのに利用。他にCASE WHENがある。 select lastname, decode(sex,'1','男','2','女','不明') from employees) これだと、列「sex」に対し、 ・1 → 男 ・2 → 女 ・それ以外 → 不明を表示する。 ・CONCATSQLの中で2つの…

PEAR:Pager セパレータの表示設定

Pager使った時のセパレータの表示方法を設定する。デフォルトではリンク間に半角スペースが1つで区切られている。 $options = array( "totalItems" => 100, "perPage" => 5, "delta" => 5, "separator" => ":", ← 区切り文字の指定 "spacesBeforeSeparator" …

テーブルスペース

テーブルスペーステーブルとかデータファイルを入れるための表領域。テーブル消しただけだとテーブルスペースは残ってる。

Ethna 二重POST対応

登録処理で二重登録を防ぐ対応。 1.登録画面の前のページ入力画面かもしくは確認画面か、ほとんどが確認画面だと思う。 <form method=post action=hoge.php> </form>

UNIXコマンド

色々勘違いしてた、新しく知ったコマンド。 suユーザーのアカウントを切り替える。管理権限に入るためのコマンドと勘違いしてた。。 manオンラインマニュアルページを表示する。引数でコマンドなどの単語を指定すると、使い方の説明が表示。 phpphpを実行す…

http_build_query

与えられた連想配列からURLエンコードされたクエリ文字列を生成する。 ・URLエンコード URLで使用禁止の値を使う際にやる符号化。 'bar', 'baz'=>'boom', 'cow'=>'milk', 'php'=>'hypertext processor'); echo http_build_query($data); // foo=bar&baz=boom…

LEFT JOIN と INNER JOIN

テーブル結合について ・LEFT JOIN - 左外部結合 左側のテーブルの全てのレコードを含む、 それに対応する右側の全てのレコードを結合。 人物ID 人物名 国ID Expr1 国名 1 リチャード1世 1 1 イギリス 2 シェークスピア 1 1 イギリス 3 孔子 3 NULL NULL 4 …

formのoptionを動的にする

・option input タグの value 値をキーにして、表示するラベルを値にした配列を指定 optionを置くと、指定した配列で値を表示できる。これを静的ではなく動的にやる。 class Test_ActionForm extends Ethna_ActionForm { var $form_template = array( 'prefl…

クエリ where,having

・where カラム値に対して条件分岐を行う。 select * from testm where key1 = 'a001' order by key1 ; ・having 集計値に対して条件分岐を行う。 select key1, count(*), sum(data1), avg(data1) from testm group by key1 having sum(data1) > 10;

.htaccessでのRewriteRule

.htaccessでリダイレクトとかの設定をしてみる。RewriteRuleで設定する。 ・RewriteRule パターンを置換対象で置き換える。 書き方は正規表現とほぼ同じ。。なはず。 www://test スラッシュなしでアクセスしたらありでリダイレクト RewriteRule ^test$ test/…

PHPにおけるシングルコーテーションとダブルコーテーションの違い

気になったので調べてみる。変数の処理で違うとのこと。 ・シングルコーテーション:文字列中の変数を展開する ・ダブルコーテーション:文字列中の変数を展開しない 例 ||< << 出力 >> >|| 変数 \$string は「$string」 変数 $string は「てすと」 シングル…

RSSを作ってみる

RSSを作ることになったので記載。 ■RSSニュースやブログなど各種のウェブサイトの更新情報を簡単にまとめ、配信するための幾つかの文書フォーマットの総称である。色んなWebサイトの更新を統一して効率的に把握できる。 <rss version="2.0"> <channel> <title>名前</title> <link>ウェブサイトのURL</link> <description>説明</description> <language>言語</language></channel></rss>…

vimのカスタマイズ

vimの設定を色々してみる。 ■エディタの配色設定カラースキーマで設定できる。カラースキーマはWebで公開されていたりする。今回は「名無しのVIM使い」さんのところから、BlackSeaというカラースキーマを頂きました。URL:http://nanasi.jp/colorscheme.html $ …

PHPのNOTICEエラーの非表示設定

フレームワークを使っていてブラウザで確認するとNOTICE:〜〜〜というエラーログが表示させる。 ■E_NOTICE 実行時の警告。エラーが発生しうる状況を示す。 ただし、通常のスクリプト実行の場合でも表示される場合がある。 自分で作成したファイルからのNOTIC…

PHPでエラーが表示されない(画面が真っ白)になる現象の解決法

フレームワークを使っていたら、ブラウザで確認すると画面が真っ白になる現象が度々あった。これはPHPにエラーがあるけど表示されないという現象。 ■チェックリスト1.display_errorsがOnになっていることを確認。 →なっていなければPHPの設定でdisplay_error…

研修(フレームワーク:入力フォーム作成1)

社内のフレームワーク(ベースはEthna)で入力フォームを作成する。ディレクトリ構造は以下の通り。 +----app (アプリケーションのスクリプト) | | | +----action (アクションスクリプト) | | | | | +----Index.php (初期画面アクションスクリプト) | | | | | …

研修(apache2のmod_rewrite設定)

apache2にmod_rewriteをインストールするため、リコンパイルする。 ■mod_rewrite apacheの機能でモジュールを組み込むことで利用可能。 アクセスURLの正規表現を書き換えることが可能。リダイレクト処理に有効。 以下、リコンパイル。 $ make clean $ ./conf…

研修(svn:ignore設定)

リポジトリに上げたくないデータ(環境設定ファイル、logなどなど)これらはsvn管理下から外さなくてはいけない。そこで管理下から外すファイル、ディレクトリに対し、ignore属性を付ける。 $ svn propset svn:ignore 'tmp' . svn propsetで属性の変更ができる…

研修(Ethna:文字化け対策)

サンプルを作ってブラウザで確認すると文字化けが起きた。原因は以下の通り ・Ethnaの内部文字コード:EUC-JP ・PHPの内部文字コード:UTF8 →内部文字コードが違う→プログラム実行すると文字化け なのでPHPの内部文字コードをEUC-JPにする。しかし、php.ini…

研修(Smartyのロジックとテンプレートの作成)

Smartyを用いて、入力フォーム、管理画面のロジックとテンプレートを作成する。 ■ロジック作成phpの処理をロジックで行う。Smartyによって変更になった部分だけ抜粋。 // エラー文 $smarty->assign("error", $error); $smarty->assign("error_array", $error…