プロが教える店舗&オフィスのセキュリティ対策術

こんにちわ!

いつもお世話になっております。
以前にも質問してみたんですけど複雑にしてしまいやり直しになります。

例えばなんですけど商品価格を高い順番に並べてって言うのありますよね。

そう言う場合はカラム名 DESC

これは分かるのですけど・・・。

そこに番号を振る事が出来ません。


1番 1000円
2番 980円
3番 850円

の様に 1 2 3

と言う事が出来ません。 












抽出
while($row =$result->FetchRow())
{
$point[] = mb_convert_encoding($row['point'],'SJIS','EUC-JP');
}

番号を振る
for($i=0; $i<10; $i++)
{
print("第".($i+1)."位:".$point[$i]."G<br />");
}

現在のソースです。

個人的には for($i=0; $i<10; $i++) の記述のミスがどこかにあるのかな とも思います。

そもそもの for の使い方など書いてあるサイトはありませんか。

A 回答 (3件)

$point配列には$row['point']すなわちフィールドpointに入っている


データが送られてきているはずです。

田中さん、木村さん・・・
となると人名ですよね?たぶんpointではないところに
格納されているのではないですか?
    • good
    • 0
この回答へのお礼

ニックネームに格納されてます。
while($row =$result->FetchRow())
{
$point[] = mb_convert_encoding($row['point'],'SJIS','EUC-JP');
$nicname[] = mb_convert_encoding($row['nicname'],'SJIS','EUC-JP');
}

です!

そもそもポイントと順位が綺麗に取れてない状態です。

抽出は問題ありません。
問題は順位付けが出来ないんです!

for($i=0; $i<10; $i++) の使い方を知りたいのです。

お礼日時:2009/10/21 18:13

>for($i=0; $i<10; $i++) の使い方を知りたいのです。



for文そのものは特に問題ないので、後はそのブロック内で

.$point[$i].

となっている所を、

.$nicname[$i].

に変えるだけだと思う。

この回答への補足

出来ません・・・。

例えばみなさんはこう言う場合どういう風に取りますか?

例えば商品価格を高い順に並べて番号を振るような単純な場合です!

補足日時:2009/10/27 12:21
    • good
    • 0
この回答へのお礼

かしこまりましたっ!
ちょっと色々もう一度試してきてみますっ!

お礼日時:2009/10/22 08:00

まずはprint_r($point)としてみて、データがきちんと収納されているか確認するところから始めてください




forの書き方はとくにまちがっていないと思いますが、
pointのキーの数によってランクは変わるのでスタティックに
1位から10位でいいならいいですが、もし最大値が変わるのなら
もうすこし工夫が必要かと。

いずれにしろ、いまのソースでどうなってしまっているかを
提示しないと、どうなおすかなんて回答できないと思いますよ。

この回答への補足

わかりましたっ!スタスタスタ/(=∵=)\

補足日時:2009/10/19 21:01
    • good
    • 0
この回答へのお礼

見てきました。

現在

第1位
第2位
.
.
.
第10位

と言うようになっています。

予定では
第1位 田中さん
第2位 木村さん
.   佐藤さん
.
.
第10位 高橋さん

と言うようになる予定です。


順位は取れています。
でも名前が取れ以内状況です!


ちなみに抽出部分はこちらですっ!
$rs=$DB->execute("SELECT * FROM $k_user_table ORDER BY point DESC");
$total=$result->RecordCount();
while($row =$result->FetchRow())

グループ BY 等を使用するのでしょうか・・・。(¬_¬)
もうげんかいです(ToT)

お礼日時:2009/10/19 21:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!