忍者ブログ
~お前もこの 気持ちよさにやられちまいな~
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

MySQLのSELECT文のみでランキング表示(同着あり)を表示する
意外と無いようなので。
IDと名前とポイントがある下記のようなテーブルがあるとして、

CREATE TABLE ranking (
  id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  name Varchar(20) NOT NULL,
  point INTEGER UNSIGNED NOT NULL DEFAULT 0,
  PRIMARY KEY(id)
)
 

テーブル結合をして比較します。

SELECT a.* , COUNT(b.id)+1 AS rank
FROM ranking a
LEFT JOIN (
    SELECT * FROM ranking
) b
ON a.point < b.point
GROUP BY a.id
ORDER BY rank ASC

これでテーブルの情報+順位が表示される



はず・・・。
皆さんどうやってテストなさるんでしょうか?
わざわざ鯖に本当にテーブル作ってテストするのかな?
PR
MySQLで既存のテーブルの、既存の列の編集
ALTER TABLE テーブル名 MODIFY 編集する列の名前 データ型
設置するだけの更新要らず郵便番号ライブラリー「ajaxzip3」
Webフォームで、郵便番号を入力したら自動的に住所が入力される。
実に便利なライブラリですね。
が、平成大合併の世の中。いつどこの住所が変わるかわかりません。

いちいち自分で郵便番号のライブラリを更新・アップロードするのは非常に非効率。
いっそ無いほうがいい気すらします。

そんな更新の手間がいらないすばらしいプログラムが登場しました。
MOONGIFT: » メンテナンスフリー!郵便番号から住所を返すライブラリ「ajaxzip3」:オープンソースを毎日紹介
http://www.moongift.jp/2009/03/ajaxzip3/
[つづきはこちら]
Smartyの修正子「date_format」のあれこれ
Smartyには(PHPのstrtotimeで解釈可能な英文形式の)日付時間を指定フォーマットで表示できる「date_formt」修正子があります。
これがとても便利でよく使いますが、細かいあたりをよく忘れてしまったり、ドキュメントに載ってなかったりする情報があったりすます。
まとめておいた方がいいだろ・・・備忘録的に考えて・・・。
[つづきはこちら]
smartyで簡単に年月日のセレクトボックスを使用する方法
年月日のセレクトボックスは結構頻繁に使用ます。
が、テンプレート化して、毎回それを使用するほどは使用頻度が高くなくめんどくさくはない。
でも毎回1からコードを書くのは非常にめんどいです。

そんな時smartyのカスタム関数html_select_dateを使うと一発です。
うん。こんな便利な関数があるなんて知らなかった。やっぱりマニュアルは一度は目を通すべきですね。
[つづきはこちら]
PHPでDoCoMo携帯用ページのSESSIONについて - 実践編
さて本日は実践編です。
なんでDoCoMo他Cookie未対応機種は、めんどくさいことをしなきゃならないかは前回参照ってことで。
今回は.htaccessphp.iniを編集できるかできないかによってプログラムが変わります。
変わる部分だけを変えますが、わかりにくいのは仕様です。
[つづきはこちら]
PHPでDoCoMo携帯用ページのSESSIONについて - 御託編
以前PC&携帯のページの仕事を学生バイトにやらせた事がありました。
当時ボクは使えないながらも忙しい日々が続いており、確認も大してしないまま動作テストをしてGOサインを出してしまっていたんですが、ちょっと問題点がある気がするので本日修正しました。
せっかくなんで備忘録として記事にします。
[つづきはこちら]
XAMPPのインストール - PHP5への道
ボクの会社では未だにPHP4.4を使用していて、入社してからPHPに触りだしたボクもPHP4しか知りません。
しかし、PHP5.2の利用者数がPHP4.4を超えて、PHP5が一般的になってきております。

会社がGOサインを出してから勉強しだしたのでは遅すぎる・・・
だったら個人的にやってやんよ(`・ω・´)

ってわけでPHP5への道!エンター・ザ・PHP5!!スタートしますよ!!
考えるんじゃない、感じるんだ!
すいません嘘つきました。プログラムなんでちゃんと考えてください。

本日は開発環境プログラム?総合パッケージ?
簡単に言うと、家のPCでPHPを動かせるようにするためのプログラムをひとつにまとめたもの、
であるXAMPPのインストールから書いていきます。
[つづきはこちら]
LINUXの「ls -l」コマンド実行結果の読み解き方
本日手持ちの仕事がやっと片付いたからlinuxのお勉強をしていた。
その時ふと思ったのだ。
「ls -lの表示される値の意味ってほとんど知らない」
と。

正直なところファイルのモードと、ファイル名程度しか見ていなかった。
さっそく先生に聞いてみたが、いまいち要領を得ない。

しょうがない、人が書かないならボクが書こう。
ってことで備忘録的に「ls -l」コマンド実行結果の意味です。

ex.)
drwxr-xr-x   11 root     root         4096 10月  8 18:54 lib
drwxr-xr-x    2 root     root         4096  5月 23  2007 misc
drwxrwxrwt    4 root     root         4096 11月 27 04:03 tmp
 
色分けで説明する部分を区切ってあります。
それでは左から

ファイル種別
・・・そのファイルが何であるかを表します。
-:通常のファイル
d:ディレクトリ、win風に言うとフォルダ
l:リンク、win風にいうとショートカット
c:キャラクタデバイス、簡単に言うとキーボードやマウスなどのデバイス
b:ブロックデバイス、簡単に言うとHDDやCD-ROMなど

ファイルオーナーに対するファイルモード
・・・ファイルの製作者が持つ権限のような
ファイルグループに対するファイルモード・・・同グループの他ユーザーが持つ権限のような
別グループユーザに対するファイルモード・・・別グループの別ユーザーが持つ権限のような
r:参照(読み取り)可能
w:変更(書き込み)可能
x:実行(使用)可能
-:それぞれの欄で、不可の意味を持つ

リンク数・・・ファイルへのリンク数
ファイルのオーナー名・・・ファイルのファイルのオーナー名
ファイルのグループ名・・・ファイルのグループ名
使用バイト数・・・バイト単位のファイルのサイズ。

ファイルの更新年月日・・・ファイルの更新日
左から月、日、時間を表す。
最終更新が年内以前の場合は月、日、年になる(ボクの環境では)

ファイル名
・・・ファイル名

を表します。

さて・・・
この記事を書くにあたって調べてわかった事があります。
この内容の記事を他の皆様が書かないのは

manコマンドで調べられるから

です。
やはり公式、マニュアルの類は必読ですね・・・
PHPで複数の配列を1つにまとめる (2/2)
本日も昨日に引き続き、PHPで複数の配列を1つにまとめる方法を書きます。

PHPで複数の配列を1つにまとめる (1/2)ではarray_margeを使った配列のまとめをやりましたが
本日は+(プラス演算子)を使った方法です。

array_margeは跡に指定した配列で重複したキーの内容は上書きされますが、+はその逆で上書きされません

つまり

$array1 = array( '色'        => "オレンジ",
                       '果物'     => "蜜柑",
                       '味'         => "酸っぱい")

$array2 = array( '色'        => "赤",
                       '果物'     => "林檎")

print_r($array1 + $array2);

print_r($array2 + $array1);

の実行結果は以下のようになります。

/* $array1 + $array2の結果 */
array( '色'        => "オレンジ",
         '果物'     => "蜜柑",
         '味'         => "酸っぱい")+

/* $array2 + $array1の結果 */
array( '色'        => "赤",
         '果物'     => "林檎",
         '味'         => "酸っぱい")

見事に前回の実行結果と逆になりましたね。

$array1 + $array2の場合は左の配列($array1)は右の配列($array2)の重複キーに上書きされないので、$array1の内容がすべて残ります。
$array2 + $array1の場合、左の配列($array2)には"味キー"がありませんので、$array2に"味キー"がプラスされた形になります。

前回と今回紹介したarray_margeと+を使いこなせば配列の操作が自由自在です。

ボクは、「覚えるのが簡単な+は、簡単だから上書きができるほど高機能じゃない」
なんて変な覚え方で覚えてます。

・・・すいません、嘘です。
覚えられてたらこの記事書いてません。

あ、そういえば本日ボクのお住まいでも初雪が降りました!
寒い寒いと仕事してたら、外見たら積もってて吹いたwww
スタッドレスはいてないから死活問題なんだけどwww
カレンダー

02 2024/03 04
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
ブログ内検索

プロフィール

中の人:
お仕事:
見習いプログラマー
趣味:
ネット、アニメ、音楽、チャリ
一言:
エロゲからクラブミュージックまで。
おじさんの趣味は108式まであるゆぉ~(・3・)