トップページ⇒php
1001コメント345KB

△▲ WebProg 初心者の質問 Part21 ▼▽

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/11/09(月) 02:32:15ID:???
2ちゃんねるは初めて。 WebProg 板は初めて。
質問したいけど、どうしたら良いか分からない。

そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。

質問する前に、まずはここを読んでね。
【注意事項】
・質問する前にGoogleで検索してみましょう
http://www.google.co.jp/
・環境(ソフトウェアのバージョンなど)は、必ず書いてください。できるだけ詳しく。
 後から情報を書き足す、いわゆる情報の小出しは極力避けてください。
・何がしたくて、何ができて何ができないのかを書きましょう
・マルチポスト(複数のスレッドで質問する行為)は絶対に禁止です。
・過去ログは必ず読みましょう。あなたと同じ質問をしてる人がいるかも知れません。

2ch 総合ガイド
http://www.2ch.net/guide/

お願い。
適切な、板、スレ、を発見した場合、誘導してあげましょう。
スレの性質上 age 進行でお願いします。

関連情報は
>>2-3辺り

☆前スレ☆
△▲ WebProg 初心者の質問 Part19 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1244038749/
(実質Part20)
0446nobodyさん2010/01/26(火) 22:56:25ID:???
>>445
可能な限り社内にプレビューサイトを作る。作成時も更新時も「これでいいか」と確認できる環境を作る。
あとは好きにしろとしか。
0447nobodyさん2010/01/26(火) 23:00:01ID:wOXA5aeU
>>446
ありがとうございます
助言をできるだけ実現できるよう努力します
0448nobodyさん2010/01/27(水) 00:51:44ID:???
フリー素材でも、会社で使う場合には有料ってのが多いので、
もう一度素材提供もとの仕様規約を見た方がいいかと。

0449nobodyさん2010/01/27(水) 02:37:52ID:???
Webサイト制作初心者用質問スレ part216
http://pc11.2ch.net/test/read.cgi/hp/1262851395/
0450nobodyさん2010/01/27(水) 07:48:17ID:YBgwbAHK
>>448
そんなこともあるのですか、ありがとうございます
>>449
ありがとうございます。どうみてもそちらのほうがふさわしかったですね
スレ違いでしたね、すいませんでした
0451nobodyさん2010/01/27(水) 08:45:33ID:???
440です

そんなこと知りたくないかもしれませんが、結果報告です

>お前のとこでは社内システムに社内で管理できないプロキシ通して使ってるのか?

そのとおりです。
その支社というのが、実は別な会社のフロアを間借りしてる形(派遣で出向してるみたいな感じです)なので
結局そこでどうにかするのは無理そうです。
出向先には絶対ばれないようにとのことで

>ヤツに罰を与えろって

罰は与えられてます。で、システムをサーバ側でもどうにかしろという話なので。

もう八方塞で、対策取ったとうそついて逃げようかとか思ってます

0452nobodyさん2010/01/27(水) 09:22:45ID:???
お前含めて酷い会社だなオイw
0453nobodyさん2010/01/27(水) 10:40:45ID:???
なんとなくすごく厳しい状態なのは想像できるw
>>440は全く悪くない気がしてきた
0454nobodyさん2010/01/27(水) 10:41:46ID:???
すいません でもこんなもんじゃないですか
労働環境最悪だし、給料安いし 馬鹿すぎる上司は
「無理だ、認証システムなんてこんなもんだ」って言っても信じないし

社員は愛社精神とかこれっぽっちもないし
そもそもずっと出向で顔も知らない本社に来た事もないやつに愛社精神求めるとかチャンチャラおかしいんですが

でも社のグループウエア私用に使ったり他人のアカウントで覗いたりはさすがに酷すぎますよね
0455nobodyさん2010/01/27(水) 10:49:40ID:???
「デスクを離れるときは必ずログアウトすること」というメモを全員のモニターに貼っとけよ
0456nobodyさん2010/01/27(水) 10:57:39ID:???
まあいろいろあるな。
むかーし、うちのボスもPCは会社の備品なんだからパスワードなんてかけるな
とか無茶言ってたしなーw
長年かけてActiveDirectoryで何とか運用してるけど、まだよくわかってないふしがある。
0457nobodyさん2010/01/27(水) 11:01:42ID:???
>>434 によると男女の話みたいなんで、どうしようも無いよw
0458nobodyさん2010/01/27(水) 11:09:07ID:???
>>454
いやだから無理じゃねーって言ってんのに何さっさと諦めてんだよ
セッション使う選択肢なんで捨ててんの?
0459nobodyさん2010/01/27(水) 11:41:04ID:???
おっしゃっている意味がわかりません
クッキーをコピられてもサイトのソースを見られても大丈夫なセッションの方法があるのですか?
フラッシュとかですか
0460nobodyさん2010/01/27(水) 11:43:11ID:???
サイトのソースっていうと誤解があるか

クッキーをコピられてもブラウザでソースの表示とか見られても大丈夫なセッションの方法があるのですか?
0461nobodyさん2010/01/27(水) 11:46:43ID:???
>>458に期待
0462nobodyさん2010/01/27(水) 11:47:24ID:???
ヒント:遷移情報

つかセッションの意味ちゃんとわかってる? 単なるログイン情報の保持じゃないよ?
0463nobodyさん2010/01/27(水) 11:47:53ID:???
>>459
それはセッションの使い方間違ってるだけでそ
0464nobodyさん2010/01/27(水) 11:49:14ID:???
セッション使おうが何しようが社員のモラルがハザードしてるんじゃ意味を成さない
もうその出向先に内部告発しちゃえよ
楽になるぜw
0465nobodyさん2010/01/27(水) 12:01:59ID:???
席離れた隙にPC触られたら終わりじゃね?
そういうずさんな環境なんだろ?
0466nobodyさん2010/01/27(水) 12:16:00ID:???
>>462
ああ、なんとなくわかってきました

遷移情報を逐次記録して、それからずれるような行為があったら、不正アカウントという意味であってます?
セッションIDはクッキーに置くが、それをコピられたとしても 
(たとえば短い間隔でリロードさせるなどして)まったく同じ状態にはできないのでコピって使おうとすると
セッション情報の不整合がわかる
「セッション情報がおかしいです」見たいなメッセージ出して操作させない
延滞等で正規のユーザーも食らうかも知れないけど、まあ仕方がない

あってます??先生

>もうその出向先に内部告発しちゃえよ

勘弁してください 数十人が路頭に迷いめっちゃ恨まれます
0467nobodyさん2010/01/27(水) 12:18:04ID:???
>>466
合ってます
じゃ実装頑張ってくださいね♪
0468nobodyさん2010/01/27(水) 12:21:51ID:???
ありがとうございます 感謝です  m()m
名も知らないし会うこともないけどあなたは僕の師です
勝手に今決めました

皆さんお騒がせしました(^^)/
0469nobodyさん2010/01/27(水) 13:36:28ID:???
今度は「○○さんが勝手に私のPCを使ったんだ!」と言い出すに違いない。
0470nobodyさん2010/01/28(木) 18:38:11ID:Wx5X+hZm
WindowsでPHP書くときに使うテキストエディタでおすすめのやつ教えてください
シェアでもOKです
0471nobodyさん2010/01/28(木) 18:42:06ID:???
重視する点と重視しない点は?
0472nobodyさん2010/01/28(木) 18:49:04ID:???
お返事有り難うございます。
重視する点は、
コメント中の2chのアスキーアートが崩れずに表示できることです。
あと、プログラムが大きくなりがちなので、
2GBぐらいのPHPをストレス無く編集できると嬉しいです。
よろしくお願いします。
0473nobodyさん2010/01/28(木) 19:14:24ID:???
句読点
0474nobodyさん2010/01/28(木) 23:36:30ID:???
2chのAAはプロポーショナルフォント前提。
プロポーショナルフォントでコードを書く奴は頭がおかしい。
0475nobodyさん2010/01/29(金) 00:00:08ID:???
2GB とかwwwwラヴィ!
0476nobodyさん2010/01/29(金) 00:13:19ID:???
何兆円のシステム開発してんだよ
0477nobodyさん2010/01/29(金) 00:30:02ID:???
実はプロポーショナルフォントのほうが見やすかったりする
慣れるまでは気持ち悪いけどな
0478nobodyさん2010/01/29(金) 00:51:35ID:???
プロポーショナルにするべきとかいう記事を最近見た記憶が・・・
俺は等幅の方がいいけど。
0479nobodyさん2010/01/29(金) 01:06:15ID:???
/.でそんな話題あったね
0480nobodyさん2010/01/29(金) 02:07:18ID:???
!il10O.
↑
こいつらが見づらいのよねw
0481nobodyさん2010/01/29(金) 09:04:39ID:???
>>480
それが気になるならプログラミング用のフォント使えばおk
0482nobodyさん2010/01/29(金) 09:59:29ID:???
いや、プロポーショナルを使った場合の話ね。

自分は固定ピッチでしか書かないから別に・・・
0483nobodyさん2010/01/29(金) 15:13:52ID:???
話の流れを全然見ていない>>481にワロタ
0484nobodyさん2010/01/29(金) 17:26:50ID:???
.htaccessでCGIを有効にする設定で
 AddType application/x-httpd-cgi .cgi
と拡張子を指定するのはわかるんですが
拡張子がないファイルはどう指定すればいいですか?
0485nobodyさん2010/01/30(土) 02:58:21ID:???
指定したURLに含まれるリンク先URLを表示するcgiがまったくわからん・・・
もう三時・・・助けて
0486nobodyさん2010/01/30(土) 03:04:33ID:???
>>485
そもそもお前の抱えてる要件がわからん
0487nobodyさん2010/01/30(土) 03:08:25ID:???
use IO::Socket;
print "URLを指定してください: ";
$url = <STDIN>;

chomp($url);
if ($url =~ /http:\/\/([^\/]+)(\/.*)/) {
$host = $1;
$file = $2;
} else {
die "そのURLには対応していません。\n";
}

$client_socket = new IO::Socket::INET (
PeerAddr => $host,
PeerPort => 'http',
Proto => 'tcp',
TimeOut => '5' );
unless ($client_socket) {
print "Socket Error:$!\n";
}

print "$host $file" . "\n";
print $client_socket "GET $file HTTP/1.0\n\n";

while ($receive = <$client_socket>) {
print $receive;}

$client_socket->close( );

これをCGIで実現して、それを使って>>485を作れって。何言ってるかわかんねぇと思うが俺もわかんねぇ
0488nobodyさん2010/01/30(土) 03:13:00ID:???
>>487
なんだ、html取得するところまではあるのか。じゃ後は正規表現でリンク部分?抜くだけだな。
とりあえずコマンドラインで動くもの作って、あとは入力と出力をcgiにすればいい。
簡単簡単。がんばれ。
0489nobodyさん2010/01/30(土) 03:23:52ID:???
use CGI;
$query = new CGI;
use IO::Socket;
print $query->header(-charset=>'UTF-8'),$query->start_html(-title=>"9.4");
print "<ul>\n";
$url = $query->param('url');
chomp($url);
if ($url =~ /http:\/\/([^\/]+)(\/.*)/) {
$host = $1;
$file = $2;
} else {
die "そのURLには対応していません。\n";
}
$client_socket = new IO::Socket::INET (
PeerAddr => $host,
PeerPort => 'http',
Proto => 'tcp',
TimeOut => '5' );
unless ($client_socket) {
print "Socket Error:$!\n";
}
print "$host $file" . "\n";
print $client_socket "GET $file HTTP/1.0\n\n";

while ($receive = <$client_socket>) {
print $receive;
}
print "</ul>\n";
print $query->end_html( );
$client_socket->close( );

こんなん?
0490nobodyさん2010/01/30(土) 03:31:20ID:???
CGIにはなったな。もう完成間近だw
0491nobodyさん2010/01/30(土) 03:32:10ID:???
>>489
入力フォームなくね?
0492nobodyさん2010/01/30(土) 03:37:21ID:???
ウェブ入力から受け取るから$url = $query->param('url');で受け取ってる
なんか表示されん・・・
0493nobodyさん2010/01/30(土) 03:53:39ID:???
reqにホスト名含めてないからVirtualhost宛だとダメだね
0494nobodyさん2010/01/30(土) 03:56:23ID:???
眠さMAX!明日やることにする・・
教えてくれた方、ありがとうございました。
0495nobodyさん2010/01/30(土) 03:57:02ID:???
明日でいいのかよw
0496nobodyさん2010/02/01(月) 00:39:33ID:xMR4fraP
ブラウザ上で動くゲームを作りたいのですが言語はPHPでも大丈夫でしょうか。
ジャンルは画像とテキスト文字がメインのいわゆるアドベンチャーゲームなのですが。
0497nobodyさん2010/02/01(月) 00:41:21ID:???
お好きな言語でどうぞ
0498nobodyさん2010/02/01(月) 01:21:53ID:xMR4fraP
>>497
プログラム経験がHTMLで軽くページを作れる程度なので
それを含めてどれがいいかという質問なのですが。
0499nobodyさん2010/02/01(月) 01:24:42ID:???
>>498
最初からそう言って下さい。要するにプログラム経験はjavascript含めて未経験に等しいのですね?
ではphpが資料もサンプルも多くて良いでしょう。

ゲームブック的なADVならHTMLコツコツ作っても良い気はしますがね。
0500nobodyさん2010/02/01(月) 02:22:07ID:???
>>499 さんは PHP をオススメしてるけど、自分は Love Perl なので Perl をオススメしたいが、

贔屓目無しだと PHP でいいんじゃないのかなと思うw
05014962010/02/01(月) 09:30:26ID:/Y/rxdTF
>>500
すみませんが、PHPとPerlの違いを教えていただけますでしょうか。
CGIの中でもっとも簡単な言語がPerlという程度の認識しかありません。
0502nobodyさん2010/02/01(月) 10:37:36ID:???
>>501
HTMLはプログラム経験とは普通言わない(JavaScriptもやっていれば別)

CGIはただの仕組みでしかない、その仕組みを利用する言語で一般的なのがPerlというだけ

PHPとPerlは言語が違う。
php/perl/ruby/python はみな違う言語

Perlは元々Cやsed/awkといった所を元にして作られていてwebアプリ用の言語というわけではない
逆にPHPはwebアプリ用の言語として生まれてるので、webは書きやすい
が、どっちもなれてしまえば大差無い、結局は好みの問題。

で、どっちも初心者用の解説ページを眺めてみて、自分にあいそうなのを選べば良いと思うよ
0503nobodyさん2010/02/01(月) 10:53:18ID:???
ところで、「ブラウザ上で動く」PerlやPHPってあるんか?
0504nobodyさん2010/02/01(月) 11:08:07ID:???
>>503
板的にサーバサイドという前提で話をしているが、もしかしてFlashとかで解決?w
0505nobodyさん2010/02/01(月) 12:36:44ID:???
>>499も言っているけど全部HTMLのリンクでよくね?

不満がでたらPerlなりやればさ
0506nobodyさん2010/02/01(月) 13:34:16ID:???
XSSなどのセキュリティ関連について調べているのですが
たとえば無料ブログなどは、自由にHTMLを書くことができる場所(記事本文とかフリーエリアプラグイン)がありますよね
そこに悪意のあるスクリプトを書いてXSSなどで何か悪いことはできないんでしょうか?
掲示板はタグを使えないようにしていたりすることが多いので問題は少ないんだとは思いますが。

XSSはアクセスしてきた人が掲示板やコメント欄などを使ってすることで、管理者がやっても何のメリットもないものなのでしょうか?
0507nobodyさん2010/02/01(月) 14:21:13ID:???
>>498
だとすると、C++の方がいいかも知れません。
0508nobodyさん2010/02/01(月) 14:28:27ID:???
たとえば
そもそも管理者に悪意があって
エロ動画あるよ、とか言って悪意のあるコード埋め込んだ無料サイトに誘導して

とかはいくらで聞く話でしょ

でもこれは 
Cross Site Scriptingにはあたらないよね?
 
WikiによればXSSは
>動的にWebページを生成するアプリケーションのセキュリティ上の不備を意図的に利用し、
>狭義にはサイト間を横断して悪意のあるスクリプトを混入させること。

不備を利用したのではなく、そういう悪意のあるサイトを作ったわけだから
社長が会社の金盗んでも「金庫破り」にはあたらないよね
0509nobodyさん2010/02/01(月) 17:15:00ID:???
トリビアンというブラウザゲームがあるのですが、
http://www.travian.jp/
こういうゲームを作るのに適したプログラム言語はなんでしょうか?
0510nobodyさん2010/02/01(月) 17:21:27ID:???
>>509
とりあえずソレはphpとjavascriptで作られている。
0511nobodyさん2010/02/01(月) 17:21:29ID:???
PHP
051201/022010/02/01(月) 18:25:56ID:ZR9x9cFL
PHP5.3.1 MySQL5.1.42を使用しております。
カテゴリでまとめて表示する方法でつまづいています。
例えばDB:tabel01に
ID TITLE       CATEGORY    SUBCATEGORY 
01 パスタの作り方 料理         イタリアン
02 パスタの種類  料理         イタリアン
03 おにぎりと塩   料理         日本料理
04 おかゆの固さ  料理          日本料理
05 下呂の秘密   旅行          温泉
06 草津の湯加減  旅行         温泉
07 ディズニーの謎  旅行         テーマパーク
08 USJの真実     旅行         テーマパーク

と記録していた場合に

料理
├イタリアン
│└パスタの作り方
│└パスタの種類 
└日本料理
 └おにぎりと塩
 └おかゆの固さ

旅行
├温泉
│└下呂の秘密
│└草津の湯加減
└テーマパーク
 └ディズニーの謎
 └USJの真実

と出力したいのですが(書き込みをわけました↓)
051302/022010/02/01(月) 18:27:07ID:???
例えば
tabel01から全てのレコードを取り出して、それを$resultとして
while($rows=mysql_fetch_array($result)){
echo $rows["TITLE"].$rows["CATEGORY"].$rows["SUBCATEGORY"];}
とした場合、

パスタの作り方 料理 イタリアン
パスタの種類 料理 イタリアン
おにぎりと塩 料理 日本料理
おかゆの固さ 料理 日本料理
....

と、当然ですが上記のような表示になってしまいます。
これを1番目の書き込みで書いたようなカテゴリをまとめて表示したいのですが
どのようなすればいいのでしょうか?

MySQLへのSELECTクエリでWHEREでCATEGORYやSUBCATEGORYで条件をつけたものを
カテゴリーやサブカテゴリーの数だけ全部用意しなければいけないのでしょうか?

出きれば全てのレコードを取り出してからPHPでの表記の時に
1番目の書き込みのようにカテゴリ別で整形したいと思ってるのですが、なにかいい方法はないでしょうか?
0514nobodyさん2010/02/01(月) 18:49:53ID:???
全レコードを取ってきてからでいいなら、mysql_fetch_array
を空になるまで回していったん全部を配列に落とし込む。
その後categoryを全部とり出して重複を取り除き、ループ
そのループの中で、各category所属のsubcategoryを全部とり出して重複を取り除き、ループ
以下略

メモリ効率は、それぞれの取り出しごとにカテゴリなどが入る場所を
プレースホルダ化しておいて、個別にSQLを発行したほうがいいだろうけど。
0515nobodyさん2010/02/01(月) 19:16:35ID:???
あたらしい項目を追加するたびに
(サブカテゴリーに「フレンチ」とかカテゴリーに「仕事」とか)
それをDBから引っ張ってくるためのクエリを簡単に作成できるような文字列をファイルなりDBなりに追加していけばいいんじゃね
(ファイル)なら、そのファイル読んで上からSELECTを順番にやればOK見たいな感じで 
0516nobodyさん2010/02/01(月) 19:22:12ID:???
別に
$array[$rows['CATEGORY']][$rows['SUBCATEGORY']] = $rows['TITLE'];
みたいに入れてあとから再ループして表示してやればいいじゃん

CAREGORYとSUBCATEGORYでソートしておいて色々頑張れば再ループせずに逐一表示できるけど、
無理にそこまですることはない
05175092010/02/01(月) 19:35:31ID:???
>>510
ありがとうございます。
もし素人がこういうゲームを作るとした場合
最初に何から始めたらいいのでしょうか。
0518nobodyさん2010/02/01(月) 19:38:36ID:???
>>517
プログラミングの基礎(PHPに限らず)
0519nobodyさん2010/02/01(月) 19:58:42ID:???
>>517
・開発環境を整える。
・とりあえずBBS作る。
・↑をDB連携するように改造してみる。
・適性が無いとこの辺で飽きる。

どうすればいいかは上のキーワードに「php」付けてググれ。
0520nobodyさん2010/02/01(月) 20:01:35ID:???
いきなりBBSはしんどいのでは?
やっぱ伝統にのっとり、Hello Worldから…
0521nobodyさん2010/02/01(月) 20:06:41ID:???
Hello Worldは開発環境構築に含まれるもんだと思ってたw
0522nobodyさん2010/02/01(月) 20:07:22ID:???
phpなら最初はphpinfoだろう常考
0523nobodyさん2010/02/01(月) 20:53:30ID:???
BBSは無意味だろ
オセロとかソース探してくる→オセロのこま(キャラ)の種類を増やしてみる→移動できるようにとかしてみる
→キャラに属性とか、体力とかつけてみる→キャラ同士がバトルとかできるようにしてみる→複数人で遊べるようにとかしてみる

みたいにやっていけば良いんじゃね
0524nobodyさん2010/02/01(月) 21:05:21ID:???
WEBアプリの基本部分を押さえるには悪くないと思うが。>BBS
丸っきりの初心者が他人のソースをいきなり読む方が辛いだろう。
0525nobodyさん2010/02/01(月) 21:57:29ID:???
じゃあOXのゲームTictactoeだっけ? 三目ならべあたりからはじめるとか
どうせ掲示板だって他人のソースは読むことになるだろう
BBS特有の余計なこともやる必要があるし、覚えたこととゲームとどうつながるのかが遠くて、混乱するじゃん

たぶん3目ならべ程度でも、ネット上に作って遠く離れた友達と携帯で待ち合わせしたりして遊べば
それはそれで、かなり満足すると思うよ、それなりに勉強になるし
それから先にいけるかどうかは知らんけど、チャット機能とか足していってさ 
0526nobodyさん2010/02/01(月) 22:13:48ID:???
BBSなら一から作る手順がネットでも本でも豊富にすっ転がってるからな。
まぁ、ゲームのソース見て改造なんてできるヤツは何から始めれば・・・」なんて聞かんとは思うがねw
05275122010/02/01(月) 23:17:47ID:???
>>514,>>515,>>516
みなさんご指導ありがとうございます。

やはり、カテゴリ毎にSELECTクエリを発行したほうが動作的にはいいんでしょうか?
と、いいますかみなさんのおっしゃってる事が半分ぐらいしか理解できてないので
もう少し検索するなり文献を読むなりして、とりあえずみなさんのおっしゃる事が理解できるように勉強しなおします。
再帰関数も勉強途中でしたので色々と出直してきます。

みなさんどうもありがとうございました。
0528nobodyさん2010/02/01(月) 23:41:15ID:???
おうよ頑張れ
基本が一番大事だ
0529nobodyさん2010/02/02(火) 01:16:12ID:???
規制解除きたか?
0530nobodyさん2010/02/02(火) 01:42:56ID:???
>>527
テーブルにもういっこparent_idをつくって主IDを振るというやり方もある。
ただクエリ数は増えるので負荷が多いようならば最終的にはキャッシュするようにするといい。
あとさらに発展したやりかたでMPTTという便利なやり方もあるが素人にはオススメできない。
0531nobodyさん2010/02/02(火) 02:05:01ID:???
CAREGORY × SUBCATEGORY 個のファイル作ってそこにTITLEを書いていったら?
(ファイル個数がわからなかったら 新しい組み合わせが来るたびにファイルも追加していく)

で、

料理_イタリアン のファイル開いて 中身を出力 
料理_日本   のファイル開いて 中身を出力
旅行_温泉  のファイル開いて 中身を出力
旅行_テマパク のファイル開いて中身を出力

├ とか└ とか も間に挟んで書く

ほら むずかしいプログラムいらない
0532nobodyさん2010/02/02(火) 02:32:04ID:???
もういっそテキストファイルに
料理
├イタリアン
│└パスタの作り方
│└パスタの種類 
└日本料理
 └おにぎりと塩
 └おかゆの固さ

旅行
├温泉
│└下呂の秘密
│└草津の湯加減
└テーマパーク
 └ディズニーの謎
 └USJの真実
って書いておけばいいんじゃね?
0533nobodyさん2010/02/02(火) 02:35:36ID:???
じゃあ全部HTMLでいいだろw
0534nobodyさん2010/02/02(火) 02:50:07ID:???
ジャンル一覧のテーブルを作る
で、各カテゴリ内のサブカテゴリのテーブルを作る

ジャンル、サブカテゴリ、アイテムIDのでソートをかける。
あとは出力するだけ

0535nobodyさん2010/02/02(火) 14:08:17ID:???
>>531-533
ここらへんの流れワラタwww

まぁMySQLはもともと階層構造に弱いからな
みんな工夫して使ってる。
いっその事XMLとか使えばいいんじゃねと思う。
私男だけど一番いいのは頭をひねることだと思うの。
0536nobodyさん2010/02/02(火) 14:48:30ID:???
XML は柔軟に表現出来るかもしれないけど、重いってイメージがある
0537nobodyさん2010/02/02(火) 14:55:05ID:???
イメージで評価してるエンジニアはカス
0538nobodyさん2010/02/02(火) 15:08:01ID:???
おれエンジニアしゃないし・・・
趣味で技術動向を追ってるだけ
0539nobodyさん2010/02/02(火) 15:09:24ID:???
しらんがな
0540nobodyさん2010/02/02(火) 15:12:06ID:???
これはひどい
0541nobodyさん2010/02/02(火) 15:14:26ID:???
何がひどいってスレチな事だ
0542nobodyさん2010/02/02(火) 16:23:22ID:???
同じくPHP、MySQL初心者なんでアドバイスできる立場にないと思うけど
自分もカテゴリー分け表示で悩んだ末に
GROUP BY を使って親カテゴリの表示は複数個を1つにまとめて
子供の記事タイトルにはWHEREの条件設定を親カテゴリの変数にして
なんとか無理矢理やってるんだけど、こんなんだとダメ?

例えばだけど
$result=mysql_query("SELECT TITLE,CTG FROM tabel01 GROUP BY CTG");
while($row=mysql_fetch_array($result){
 echo $row["CTG"];
 $ctg=$row["CTG"];
 $result=mysql_query("SELECT TITLE,CTG FROM tabel01 WHERE CTG = '".$ctg."'");
 while($row=mysql_fetch_array($result){
 echo $row["TITLE"];
 }
}

というような雰囲気であとはCSSとかで修飾してツリー的な雰囲気だしてる。
でもこれだと1階層下しかない設定だから、それ以上階層が深くなるなら、どうすればいいかまったく分からん。
というかむしろ僕の方法は悪しき例なのでしょうかw
自分もまだ初歩の知識しかないのでw
0543nobodyさん2010/02/02(火) 16:28:44ID:???
クエリのループの中で更にクエリを発行とか下策にも程がある
0544nobodyさん2010/02/02(火) 16:29:45ID:???
すんませんwwwwwwwwwwww
0545nobodyさん2010/02/02(火) 16:33:35ID:???
>>542
SQLをもうちっと調べた方が良い。
1回のSQLで欲しい結果を得られるよ
■ このスレッドは過去ログ倉庫に格納されています