人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PhP4.2 mysql4.0 に関して

mysqlについて質問です。
昇降順に関する質問です。

登録してあるmysql情報を下記とします。
カラムが名前、点数1とします。

並び替えをして、順位を現したいです。

(test)テーブル
????????????????
(名前)(点数1)
a 5
b 2
c 4
d 3
e 1
????????????????
これを(点数1)で降順にします。
e b d c a
$query="SELECT * FROM test ORDER BY 点数1 DESC";
$result=mysql_query($query);

このような順番にします。
降順なので、aなら「1」dなら「3」となります。

(問)$resultをaなら「1」dなら「3」という風に
並べ替えた後の順番の数字を出すにはどうすればいいですか?

※名前を$name
数字1を$suji
として回答お願いします。

詳しい方お願いします。

●質問者: rrr3
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:MySQL name SELECT test カラム
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● chuken_kenkou
●60ポイント

phpについては、詳しくないのですが。。。


// テーブル(user_table)の値を取得するquery文
$query = "SELECT * FROM user_table";

上記の$queryに、前の質問で回答した以下のSQLを入れます。

select
 x.名前 as name,
 x.点数1 as suji1,
 count(*) as rownum
 from test as x,test as y
 where x.点数1<y.点数1
 or x.点数1=y.点数1 and x.名前>y.名前
 or x.点数1=y.点数1 and x.名前=y.名前
 group by x.名前,x.点数1
 order by x.点数1 desc,x.名前

phpで値を参照するため、「x.名前」、「x.点数1」、「count(*)」に、それぞれname、suji1、rownumという別名を付けています。

// query文の実行
$result = mysql_query($query) or die(mysql_error());

//user_tableの表示
while($row=mysql_fetch_array($result)) {
 echo "$row['name'], $row['suji1'], $row['rownum']

"; }

$rowから、値を別名で参照します。


phpのコードは、下記から引用しました。

PHP&MySQL

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ