投稿者 |
メッセージ |
|
< PHPプログラミング ~ スコアの高い順番に変数をソートしたいのですが、ご教授下さい |
|
時間:
土 6月 07, 2008 5:39 am
|
|
|
登録日: 2008年6月 07日
投稿記事: 7
所在地: 埼玉県
|
|
皆さん、
今日は。
Flash経験者ですが、PHPは、初心者です。
Flashのゲームで、PlayしたPlayerがスコアをPHPに送信し、そのスコアを点数の大きい順番に、PHP側で、ソーティングし、上から5番目までのスコアを、Flashに返すことを考えています。Flash側のscriptingは、今回の質問の範囲外となりますが、PHP側では、どのような処理を行えば宜しいのでしょうか?
一旦、Flashを忘れ、PHPのみで、以下のように記載しました。
1)score記載と表示用のphp(ファイル名:score_input.php)
Code: |
<html>
<head>
<title>スコアブック</title>
</head>
<body bgcolor="#ffffff">
<h1 style="background:#cccccc">
スコア書き込み
</h1>
<form method="POST" action="score_write.php">
お名前:<br>
<input type="text" name="name" size="20" maxlength="30"/><br/>
スコア:<br>
<input type="text" name="score" size="20" maxlength="255"/><br/>
<input type="submit" value="送信"/>
</form>
<br>
<h1 style="background:#cccccc">スコア表示</h1>
<?php
$file=fopen("guest.dat","r");//rは、読み込みのみで、guest.datを開く
while($row=fgetcsv($file,1024,"\t")){//tab区切りで、$fileを、最大文字長 1024文字を読み込む。
//この辺りに、スコアの$row[1]を数値の大きい順番に、配列しなおすスクリプトが必要だと思うのですが、どう記述したらよいのかが分かりません。
?>
<ol>
<li>お名前:<?php print($row[0]); ?></li>
<li>スコア:<?php print($row[1]); ?></li>
</ol>
<hr/>
<?php
}
fclose($file);
?>
</body>
</html>
|
2)スコアwrite用のPHP(ファイル名:score_write.php)
Code: |
<?php
$file=fopen("guest.dat","a");//aは、追記型の書き込みのみで、guest.datを開く
flock($file,LOCK_EX);
$line.=$_POST['name']."\t";//.は文字列連結の意味、Flashの・#123;に相当する
$line.=$_POST['score']."\t";
fputs($file,$line."\n");//開いた、guest.dataに、変数の$lineを記載し、改行する
flock($file,LOCK_UN);//ロックの解除
fclose($file);//ファイルを閉じる
header("Location: score_input.php");//score_inpu.phpにリダイレクトする
?>
|
このコードで記載した、phpを以下にアップして置きますが、スコア表示の方法を、スコアの高い順番に、上から5つだけ表示させたいという質問ですが、お分かりになる方、ご教授いただけると助かります。
(尚、お名前を、漢字でインプットすると、ローカルでは、OKでしたが、このLacoocanですと、何も表示されないようですが、今回、これは無視して頂いて、結構です。
更に、ブラウザーで、お名前をインプット後、文字コードが、Shift_JISに変更されることがありますがので、文字コードを、EUCにして、リロードお願いします。)
http://joy.life.coocan.jp/questions/score_php/score_input.php
長くなりましたが、宜しく、お願いいたします。 |
joyが土 6月 07, 2008 11:48 amに記事を編集, 編集回数: 1 |
|
|
|
|
|
|
時間:
月 6月 09, 2008 7:31 pm
|
|
|
登録日: 2008年6月 09日
投稿記事: 2
所在地: Tokyo
|
|
どうも。
表示部分のみですが。
[code:1:95875c3a4f]//rは、読み込みのみで、guest.datを開く
$file=fopen("guest.dat","r");
while($row=fgetcsv($file,1024,"\t")){
// スコアをキ |
|
|
|
|
|
|
|
時間:
火 6月 10, 2008 11:38 pm
|
|
|
登録日: 2008年6月 07日
投稿記事: 7
所在地: 埼玉県
|
|
|
|
|
|
|
時間:
木 6月 12, 2008 10:58 am
|
|
|
登録日: 2008年6月 09日
投稿記事: 2
所在地: Tokyo
|
|
ご希望に添うことができ、
光栄に思います。
Flashとの結合、がんばってくださいね! |
|
|
|
|
|
|
|
時間:
火 3月 12, 2013 4:39 am
|
|
|
登録日: 2013年3月 11日
投稿記事: 16
所在地: Dominica
|
|
where can i purchase crysis 3 cd secrets less than EA retailer? |
|
|
|
|
|
|
|