トップページ⇒php
986コメント299KB

【PHP】初心者コーナー 

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。02/01/21 03:21ID:???
長島も阪神のコーチになった。
仕方ない、人気のないPHPを応援してやる。 

データベース禁止 MySQL PostgreSQL はどっかいけ。
純粋にPHPプログラミングだけ。
初歩的な事ならWebProg板の誰かが素早く教える。
もちろんPerlプログラマーも手伝ってくれ。
ほんじゃ質問してみ。

 >>2-9 誰か情報かいてくれ。
0577nobodyさん03/02/17 04:49ID:???
>>575
ここは「初心者コーナー」で
>574は自分で調べて分からないっていってるんだから
そういうただ馬鹿にしてるだけのようなレスはやめてけれ。
まあ俺には答えられないんで引っ込んでます。
0578nobodyさん03/02/17 06:05ID:???
>>576の言う通り色々な場所で文字コードを指定できる(変わったことするには気にしなきゃいけない)ので、
この機会に覚えておいて損は無いよ。マニュアル見れば大体わかると思う。
本だと「PHP×PostgreSQLで作る 最強Webシステム」ってのがうまく纏めてあったな。
他の部分はどうってことない内容だったが、その部分は立ち読みする価値あり(w
0579nobodyさん03/02/17 06:32ID:???
つーか、Shift_JISでもほとんど問題ない。
0580nobodyさん03/02/17 06:55ID:???
SJIS対応は次期バージョンなんだっけ?
058157603/02/17 06:57ID:???
元文よく見たらphp4.0.2じゃんか。mb_stringまだなかったんじゃねぇの?
でも、>>573ではmb_convert_encoding使っているから、4.2.0の間違いか?

>>579
4.3.0以降で--enable-zend-multibyteを付けているか、藤本氏の
国際化版を使っていないと、SJISでは問題が出る可能性がある。
0582nobodyさん03/02/17 18:38ID:???
本家から落としたPHPのchm化したDocumentが読めないのだが、どうすればよい?
0583nobodyさん03/02/18 00:39ID:???
>>582
眼鏡かけてみたらどうかな?
0584nobodyさん03/02/18 00:51ID:???
>>582
日本語マニュアルだろ
確かに読めないな。「ページを表示できません」になる。

0585nobodyさん03/02/18 03:47ID:???
>>583
環境によるのかもしれない。
俺はMEとNTと2Kで確認したが、どれも見れず。>OS依存の可能性は低いかな
日本のサイトで公開してるやつは見れる。
0586nobodyさん03/02/18 21:49ID:+iSTKmnJ
お邪魔します。
フォームでチェックボックスを配列で受取りたいのですが、どうしたらいいのか分かりません。
どうか、御教えください。

for ($i=0; $i<$row; $i++) {
$no = mysql_result($result, $i, 0);
$name = mysql_result($result, $i, 1);
$tel = mysql_result($result, $i, 2);
print "<tr><td><input type = \"checkbox\" name = \"del_no[]\" value = \"$no\">".$no."</td><td>".$name."</td><td>".$tel."</td></tr>" ;
}
0587nobodyさん03/02/18 21:52ID:???
>>586
無理です。
0588nobodyさん03/02/18 21:59ID:???
自分のいるディレクトリの階層を知る方法ってありますか?
今はこんなことやってるんですけど…
$slashes = count_chars($_SERVER["PHP_SELF"], 1);
for($i = i; $i < $slashes[47]; $i++) {
$dir.= "../";
}
0589nobodyさん03/02/18 22:16ID:oWDXj+bJ
   ,.´ / Vヽヽ
    ! i iノノリ)) 〉
    i l l.´ヮ`ノリ <先生!こんなのがありました!
    l く/_只ヽ    
  | ̄ ̄ ̄ ̄ ̄|
http://saitama.gasuki.com/kaorin/
0590nobodyさん03/02/18 22:21ID:???
>>586
できるよ
print_r($_REQUEST['del_no']); で出力してみそ。
出力を見たら分かると思うけど、チェックされてないものは配列に前詰めされてしまう。
>>587が無理って言ってるのはその辺の意味もあるのかもね。<form>が無いからかも知れないけど。

>>588
dirname()は使えないかな?
059158603/02/18 22:41ID:???
>>590
仰るとおりになりました。
これなら、できそうです。ありがとうございました。
059258603/02/18 23:01ID:???
>>590
うまくいきました。
本当にありがとうございました。
0593nobodyさん03/02/18 23:04ID:???
徹底的に無視されたかわいそうな>>587
059458803/02/18 23:05ID:???
>>590
これは!と思ったけれど…。
階層知るには、やはりcount_charsをするしかないのかな。
059558603/02/18 23:06ID:???
ありがとうございました
0596nobodyさん03/02/18 23:07ID:???
☆★暇な人!荒らしがやりたい人!ここへ逝こう!ってか逝って。★☆
管理人がクソ厨なブタ野郎だからいじり倒してサイトを閉鎖させちゃえ!
閉鎖できた人は「荒らし王」の称号が手に入る!さぁ!荒らせ!!!!

http://www.geocities.co.jp/Bookend/6473/
0597nobodyさん03/02/18 23:17ID:???
>>582-585
適当に検索すればヘルプの中身が表示されるよ。
そこからトップページへたどり着ける。
激しく面倒だが。
0598nobodyさん03/02/19 00:10ID:YL/PSmd0
http://www10.ocn.ne.jp/~mailbiz/
0599nobodyさん03/02/19 02:48ID:oUZRirLt
PHP4.0.6です。
PHP初心者です。
PHP←→postgreSQLについて質問です。
odbc_connect()関数の呼び出しで
Call to undefined function: odbc_connect()
と出てしまいます.モジュールか何か足りないんでしょうか?
どのようにすれば動くようになりますか?
新しいのを入れたほうがいいのでしょうか?
よろしくお願いいたします!!
0600nobodyさん03/02/19 03:40ID:???
そこ、pg_connect()ちゃうのか?
060117303/02/19 13:59ID:pmHLZySe
>> 600
ゔ,pg_connectでした・・・
こんなんで悩んでたなんてはずかしいです・・・
ツッコミありがとうございます。
0602nobodyさん03/02/19 18:54ID:Bw4fiDtc
参考書を頼りになんとか簡単な掲示板(tecupのような)を作ったのですが
削除機能の付け方がわかりません。参考書にも書いてないし。。

どうすればよいか教えてください。(どの関数を追加するとか)
060358603/02/19 19:01ID:???
>>595
ワラタ。
ってか、騙るなよ。
0604nobodyさん03/02/19 19:22ID:???
>>602
それだけじゃ判らんてw
どっかにソースをアップしてみれ。
060560203/02/19 20:00ID:OPQFETdV
>>604
もういいです。他で聞きます。
0606nobodyさん03/02/19 20:40ID:???
>>605はこれから「それだけじゃ分からん」を何回言われれば気付くのでしょー(w





大方レス削除機能なんだろうけど、その機能のコードをまるまる他人に頼るつもりなんだろうか…
0607nobodyさん03/02/19 20:56ID:???
うーん、ネタか騙りのような気がするが・・・
0608nobodyさん03/02/19 21:03ID:Bw4fiDtc
>>603
わかりました。ちょっと待ってください。
0609nobodyさん03/02/21 00:19ID:D44CnFCN
古いバージョンのものを移植していますが、変数がうまく取り込まれません。
if (empty($submit))
の部分を
if (empty($_GET['submit']))
としても、その下にある<form action="">以下にある変数が
代入されないのですが....
0610nobodyさん03/02/21 00:32ID:???
>>609
$_POST['submit'] だったり?
0611nobodyさん03/02/21 02:41ID:???
>>597
インデックスがねーっつー方向でよろしいか?
あと、文字化けやらメニュー項目もおかしいんだけどまぁいいか。

だれか編者に連絡してくだちい。
0612nobodyさん03/02/21 03:51ID:vyQB60si
>>609に便乗して質問なのですが、いつのバージョンから$submitではなく、$_POST or $_GET["submit"]取得に
なったんですか?$_POST自体はPHP4.1.0だったと思うのですが。
0613nobodyさん03/02/21 05:38ID:XED00hVU
>571
>最初はソースをShift_JISで書いていたのですが、知人にPHPのソースは
>EUC-JPで書いたほうがよいと言われ、
まずここが間違いだと思われ。
EUCでなければならない根拠はない。

>576 にも書かれてあるが内部コードは統一したほうが余計な苦労をしなくて済みます。
0614nobodyさん03/02/21 05:51ID:XED00hVU
>612
$_POST,$_GETで受け渡しするのは正式にはphp-4.2.0からで、スーパーグローバル変数を禁止するように
なりました。
php.iniのregister-globalsが存在しているバージョンということでdefaultでOffが設定されています。
次のphp-5.0ではクラス内のグローバル変数をdefaultで禁止するようです。どういうことかというと
これまでクラス内部でvar定義されたものは
$this->class->hensu
というようにアロー演算子によってアクセス出来ていましたがこれが出来なくなります。
クラスのカプセルかを強化しようという事です。
0615nobodyさん03/02/21 06:08ID:???
>>614

クラスのカプセル化強化によってどいった利点があるのか、
説明ぎぼんぬ。
0616nobodyさん03/02/21 06:22ID:JDlnr9Ka
☆★☆キラキラお星さま☆★☆
http://jsweb.muvc.net/index.html
061761403/02/21 07:49ID:???
>615
>クラスのカプセル化強化によってどいった利点があるのか、
>説明ぎぼんぬ。
漏れの技術的判断の限りでは、効率としての効果は無いと思われる。無駄なモジュール肥大化と
スタック処理によりスピード低下は否めないだろう。
C++やeRubyに対抗しようとする開発者の自己満足とかそういう類に属する拡張と理解している。
どうもphp開発者のエゴのような気がする。
061861403/02/21 08:04ID:???
>615
ああ、一応初心者用に付け加えておくが
クラスのカプセル化という意味においては必要不可欠な機能であるという事だ。

オブジェクト指向を理解している香具師は読み飛ばして頂いて結構なのだが
クラスの保持するvar変数は本来外部から操作されてはならないという要件がある。
どうしても操作したい場合にはメソッドとしてインターフェイス関数を内在させ、その仲介によって
アクセスされるものであるというものだ。プロパティも原則として同じである。
php4.3.xではこれらの実装を見送ることにしたのだが、プログラムでクラスを多用するといくら継承していても
ストレートに"->"アロー演算子でvar変数を改竄出来てしまうのである。
これは本来のクラスの目的とは大きく異なるものであり、現在のphp4.3.xのままでは
クラスとは名ばかりである。
プログラミングしている方は気が付いていると思うが現在のphpclassは只のinline関数に過ぎないのである。
具体的には以下の様な感じになる。
class sample{
public:
var $db;
private:
var $hensu1;
protect:
function sample();
}

以上、理解できるだろうか。。
0619nobodyさん03/02/21 09:21ID:7Llp1QHv
http://homepage3.nifty.com/digikei/ten.html
( ´_ゝ`)
0620nobodyさん03/02/21 10:33ID:???
>>618
言ってる事は正しいが、真中のあたりから激しく論点がずれてるんだが。
062161503/02/21 10:33ID:???
>>618
説明ありがとう、しかし理解できね。
よくやることなんだが、
class foo{
 var $DB;
 function foo($DSN){
  $this->DB=DB::Connect($DSN);
 }
 function hoge($sql){
  return $this->DB->getAll($sql)
 }
}
って書き方は出来なくなるってことですよね。
php5になったらどゆ書き方になるのか、よければ説明してほしい。
0622nobodyさん03/02/21 10:42ID:???
>>621
getterとsetterじゃないの?

class a
{
var v;

function geta()
{
return $this->v;
}

function seta(v)
{
$this->v = v;
}
}
062361503/02/21 10:49ID:???
>>622
は?
>>614ではクラス内でも$this->vといったアクセスが出来なくなるとあるのだが?
062461403/02/21 11:38ID:???
>620
>言ってる事は正しいが、真中のあたりから激しく論点がずれてるんだが。
ん、論点違ったかい?そりゃ失礼。
062561403/02/21 11:39ID:???
>621
>よくやることなんだが、
>class foo{
> var $DB;
> function foo($DSN){
>  $this->DB=DB::Connect($DSN);
> }
> function hoge($sql){
>  return $this->DB->getAll($sql)
> }
>}
>って書き方は出来なくなるってことですよね。
この書き方だと問題なく出来ますね。但し基底クラス側ではpublicスコープを設けてやる必要があります。
class DB {
public:
  function Connect($DSN){
}
function getAll($sql){
}
}
class foo extends DB {
 var $DB;
 function foo($DSN){
  $this->DB=DB::Connect($DSN);
 }
 function hoge($sql){
  return $this->DB->getAll($sql)
 }
}
062661403/02/21 11:39ID:???
>623
>>>614ではクラス内でも$this->vといったアクセスが出来なくなるとあるのだが?
誤解を招いたようです申し訳ない、
クラス内ではもちろん同一スコープですのでアクセス可能です。
表現したかったのはクラス外からのアクセスという意味です。
class sample{
protected:
var $hensu = "hoge";
public:
function hogehoge(){
return $this->hensu;
}
}
$hoge = new sample;
echo $hoge->hensu; ・・・・・・・ エラー
echo $hoge->hogehoge(); ・・・・・・・ 正しく hoge と出力される
062761503/02/21 12:05ID:???
>>625-626
多謝!
だいたい理解できた(と思う)
public: とか private: なんて今まで使ったことないのだけど、
雰囲気的になんとなくぅ〜で、まぁその辺は調べるわ。

CUIな時代はCを少しやったが、GUIな時代になってC++なんかぜんぜんしらんし。
オブジェクト指向つうのに未だ正しい理解できず。PEARと格闘してま。
ほんま、ありがとな。
0628nobodyさん03/02/21 13:34ID:???
>>623

強化と言うか誰からも触れないときめき変数じゃん。それ。
0629nobodyさん03/02/21 19:20ID:???
>628
>強化と言うか誰からも触れないときめき変数じゃん。それ。
トキメキ変数?
なにそれ・・・・。
さすがの猿飛はスキトキメキトキスだっけ・・・。
0630nobodyさん03/02/21 22:38ID:tMiGGtI4
参考書を元にフォームメールを作成しているのですが
フォームに入力してそのコピーメールが投稿者のアドレスに
届くと言うものなのですが、その届いたメールアドレスが
me@localhostになってしまいます。
これを自分のメールアドレスに変えて送信する
にはどうしたら良いのでしょうか?

↓がそのサンプルです。
ttp://210.143.102.80/upload/source/d/0838.zip
0631nobodyさん03/02/21 22:40ID:tMiGGtI4
ちなみに送信テストにはradishという簡易SMTPサーバを使用しました。
0632nobodyさん03/02/22 00:09ID:???
>>631
mail()かmb_send_mail()の引数string additional_headersに、
From: [email protected]を入れる。必要によりstring additional_parameterも。
詳しくは
ttp://jp.php.net/manual/ja/function.mb-send-mail.php
0633nobodyさん03/02/22 00:17ID:???
>631
$mail_to = $_REQUEST[ "VALUE_MAIL" ];
$subject = "ありがとうございました。";
$body = "PHPメールフォームのご利用ありがとうございました。\n" .
"以下は、送信された内容のコピーです。\n\n";
$body .= "名前     :" . $_REQUEST[ "VALUE_NAME" ] . "\n";
$body .= "郵便番号   :" . $_REQUEST[ "VALUE_POST" ] . "\n";
$body .= "住所     :" . $_REQUEST[ "VALUE_ADDRESS" ] . "\n";
$body .= "メールアドレス:" . $_REQUEST[ "VALUE_MAIL" ] . "\n";
$body .= "趣味     :" . $_REQUEST[ "VALUE_FAVORITE" ] . "\n";

$mail_from = "From: [email protected]";
mb_send_mail( $mail_to, $subject, $body,$mail_from);
063463003/02/22 00:38ID:p54zeupR
>>632-633
やってみます!どうもありがとうございました
0635tantei03/02/22 00:42ID:???
★あなたのお悩み解決致します!!
●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
●ストーカー対策
社会問題ともなっているストーカーを撃退致します!!
その他人生相談からどんなお悩みでも解決いたします!!
 直通  090−8505−3086
URL  http://www.h5.dion.ne.jp/~grobal/
メール  [email protected]
   グローバル探偵事務局 

063663003/02/22 02:08ID:p54zeupR
632,633さんのおかげでうまいこと改造することができました。
と、それは良いのですが1つ気づきました。
これって書き込んだ人にコピーメールを送るけど
肝心の自分のところにはメールが届きませんよね?
だからどういう問い合わせをされたのかわからないのですが。

その辺も解決策は無いでしょうか?
0637nobodyさん03/02/22 08:44ID:???
>636
CCしろ
0638nobodyさん03/02/22 08:55ID:???
>>636
632で答えたのがバカらしくなる質問だな。
参考書丸写しかよ、ちったぁ自分で考えな。
ってか、ちゃんとその参考書嫁よ

【PHP】質問スレに、WebProg板らしからぬ質問が増えたので、
このスレが出来たのだが、教えてクレクレ君が許されるわけではない。
0639nobodyさん03/02/22 11:02ID:???
>>638
禿しく同意。
メールの処理を行いたいならメールについて勉強してみるのは常識。
自分で努力をしないクレクレクソは去れ。
0640nobodyさん03/02/22 11:08ID:???
>>639
ふと思ったんだが、

>メールについて勉強

って具体的に何を指すの?

SMTP、POP3、IMAP、APOP、ESMTP、MIME、uuencode、BASE64、TCP、IP、SMTP Auth、POP Before SMTPなどなど深いぞ。Eメール業界。
0641nobodyさん03/02/22 11:38ID:???
>>640
レイヤが無茶苦茶だな。
DNSのMXなども含めるつもりか?
064263003/02/22 11:54ID:15dKIbQj
>>638-639
自分で考えるにも狭い範囲(参考書)の教養しかなくて・・。
632のページ見て試したのですが、送られなかったし
クレクレ君と言いますが、逆にどのようにしていいか
わからないので学ばせていただこうかと(ここしか教えてくれるところしらないし)

あと、参考書丸写しじゃないですよ。
0643nobodyさん03/02/22 12:05ID:???
>640
>>メールについて勉強
>って具体的に何を指すの?
>SMTP、POP3、IMAP、APOP、ESMTP、MIME、uuencode、BASE64、TCP、IP、SMTP Auth、POP Before SMTPなどなど深いぞ。Eメール業界。
君が知らないものは全部やっていいからね、誰も勉強してはいけないなどと止める人は居ないから
思う存分気の済むまで勉強してくれ。

>642
>自分で考えるにも狭い範囲(参考書)の教養しかなくて・・。
>632のページ見て試したのですが、送られなかったし
>632 さんに string additional_headersのヒントを教えてもらってるだろう。
>633で漏れが具体的な記述方まで書いてやっただろ、そしたらmail headerってものが
あってここに記述すればなんでも出来るじゃんって気が付かないか?
気が付かないのならphpを諦めたほうが良い、それ以前の問題だから。
0644nobodyさん03/02/22 12:24ID:???
>メール業界。

はい?
0645nobodyさん03/02/22 12:26ID:???
>ここに記述すればなんでも出来

便利だ。今度から「Order: ラーメンと餃子届けて。あ、金は向こう持ちね。」とか書いておこう。
064663003/02/22 12:46ID:15dKIbQj
>>643
まだ、はじめて一週間ぐらいなんで・・・。
でも、PHPはやってて楽しいし絶対、取得したいんです。
さっきも632のページを見たり、他のサイトで調べたり
テストしてみたりしたんですが、どうしても上手く行かないんです。

とりあえず、mail headerですか。。それについてまた勉強してみます。
0647nobodyさん03/02/22 16:57ID:???
>644
>>メール業界。
>はい?
郵便局とか、バイク便の事では?

>645
>>ここに記述すればなんでも出来
>便利だ。今度から「Order: ラーメンと餃子届けて。あ、金は向こう持ちね。」とか書いておこう。
漏れなんか「hope: 新春宝くじ2億円当選キボンヌ!!」としてるが何か?



0648nobodyさん03/02/22 16:59ID:???
>646
>とりあえず、mail headerですか。。それについてまた勉強してみます。
「また」じゃなく、今しろ、すぐにだ。
0649nobodyさん03/02/22 17:03ID:???
>>648
偉そうだぁね
0650nobodyさん03/02/22 17:11ID:???
思いついたときにやらないと、次にいつになるかわからない。から。
065164903/02/22 17:15ID:???
>>650
まあ、それもそうだね。
書き方が悪かったな、気分悪させてたら申し訳ない。
065264803/02/22 19:12ID:???
>650
そうそう、パウエルも東京に来てる事だし、今夜にでも北チョンのテポドンに核弾頭積んだのが飛んでくる
かも知れないから、今しか出来ないかもよ。
0653nobodyさん03/02/22 19:18ID:???
>>652
テポどんが東京狙ったら困るなあ。うち(静岡)に当たるかもしれないじゃん。
狙うのなら正確であることを祈る。
0654nobodyさん03/02/22 19:20ID:???
>>630
とりあえず、メールがどうやって送信者から受信者までたどり着くのかは知っているか?
どこを経由しているのか、経由地同士(送信者や受信者のPCも含む)はどうやってメールの受け渡しをやっているのか
そのへんは最初に理解しておいた方がいいぞ。
0655nobodyさん03/02/22 19:39ID:???
>>654
今時リレーしてメール運んだりはせんけどな。
0656nobodyさん03/02/23 11:35ID:???
>>655
オープンリレーでないだけで、リレーそのものは幾らでもある。
0657nobodyさん03/02/24 01:23ID:???
海老の唐age
0658nobodyさん03/02/24 11:19ID:???
PHPなんだけど、
array_values()使って配列をファイルに出力したらなぜか
ファイルにはArrayってfputsされてるんだけどなんでなんだよ
もちろん配列にはちゃんと中身はあります
0659nobodyさん03/02/24 11:49ID:???
そゆ関数なんだろ。
array_slice() を使えば。
066065803/02/24 12:37ID:???
foreachでやってみることにしましタン
0661nobodyさん03/02/24 13:01ID:???
>>658
array_valueは返り値もarrayだから。
0662nobodyさん03/02/24 13:34ID:???
>>656
リレーを一切拒否したら内部から外部へ送れないもんな。
0663nobodyさん03/02/24 14:58ID:hOH4eQvz
ttp://php.s3.to/g/randam.php.txt でひとつのページに複数設置したくて

<img src="randam.php?no=1">(合計10個くらいなんですが)
みたいにして違う画像が出るようにするにはどのようにしたらいいのでしょうか
0664chmod03/02/24 19:58ID:FUX1UJsu
超初心者ですいません、
サーバーがIISいれてて、フリーのPHPのカウンターを動かそうとしてみたところ
一緒にUPするcounter.txtの属性を変えろといわれたのですが、
FFFTPで属性変更としても変わってくれないです。
どうやればIIS上での属性の変更を解決できるのでしょうか?
よろしくおねがいします。
0665nobodyさん03/02/24 20:06ID:???
>>664
Windowsにはそんなもの存在しないから変えようがない。
0666chmod03/02/24 20:35ID:FUX1UJsu
ふむむ、なるほど、てことはディレクトリに置けば実行出来るはずなんですよねえ・・・

できない・・・

ファイルがひらけないとか抜かしてきやがります。
まあ、いいや。
0667nobodyさん03/02/24 20:42ID:???
Windowsでも、NT系ならパーミッションらしきものは存在するぞ。
0668nobodyさん03/02/24 20:59ID:???
IISならNT系だろ。
鯖は自宅鯖?
もしも鯖を操作できるならcounter.txtを右クリックして
プロパティからアクセス許可を探してIISの実行ユーザに書込み権を与えてやれ。
0669chmod03/02/24 21:10ID:FUX1UJsu
ほほー
分かりましたやってみますありがとうございます!
0670nobodyさん03/02/24 21:32ID:j6HjxIaR
掲示板のログみたいなデータを各要素ごとにソートするうまい方法を考えて
います。

ログ形式は、
名前<>番号<>点数<>合計点<>平均点 のような形で
具体的には、 name<>1<>10<>50<>23.5 のような行が200行位あるファイルです。

これを、番号順、点数順、合計点順、平均順にソートしたいのです。

で、調べたところ

function fcomp($x,$y){
$a = explode("<>",$x);
$b = explode("<>",$y);
if($a[1] == $b[1] ) return 0;
return ($a[1] > $b[1] ) ? 1 : -1;
}
usort ($lines,fcomp);

というファンクションがありましたが、これでは 0,1 の要素しか扱えません。

番号順、点数順、合計点順、平均順 などをページから、GETなりPOSTして
動的に結果を表示するには、どうするのが賢いでしょうか?
$lines = file($logfile);
for($i=0;$i<count($lines);$i++) {
list($name,$point,$total,$average) = explode("<>",$lines[$i]);
}
まではわかっております。


0671nobodyさん03/02/24 21:49ID:???
PostgreSQLあたりのDB使ったら?

という考えもあるがまぁ一応。
各要素毎に配列を用意。
添え字で行を取る。

でだarray_multisort関数を使え。

以上
0672nobodyさん03/02/24 22:07ID:j6HjxIaR
>>671
うー、よくわかんないです。

for($i=0;$i<count($lines);$i++) {
list($name,$point,$total,$average) = explode("<>",$lines[$i]);
$name[] = $name;
$point[] = $point;
$total[] = $total;
$average[] = $average;
}

array_multisort($name,$point,$total,$average);

でしょうか? マニュアル読んでもさっぱりわからない...


#DBは安鯖なのでついてないのです。
0673nobodyさん03/02/24 22:25ID:???
これで十分だと思われ。
for($i=0;$i<count($lines);$i++) {
list($name,$point,$total,$average) = explode("<>",$lines[$i]);
}

名前を文字列として昇順にソート。
array_multisort($name, SORT_ASC, SORT_STRING, $point, $total, $average);

あとはマニュアルを穴が空くまで嫁。
それができないなら言語を扱っても成長しないからやるだけ時間の無駄だと思われ。

おとなしくエクセルあたりでも使うがよろし。
0674nobodyさん03/02/24 22:43ID:RRWzLh+f
いい!
http://hkwr.com/
0675nobodyさん03/02/24 23:27ID:j6HjxIaR
>>673
Thanx.

でもやっぱり配列に入れなくてはいけなかったので、
$name[] = $name;
$point[] = $point;
$total[] = $total;
$average[] = $average;

がないとエラーになりました。

ともかくありがとうございました。
067667303/02/24 23:58ID:???
よかったよかった。

どうやら俺が読むべきなようだな。
吊ってくる。
■ このスレッドは過去ログ倉庫に格納されています