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

■こんなCGI作ってください■

■ このスレッドは過去ログ倉庫に格納されています
0001104/12/14 08:35:03ID:???
ご要望をどぞ
07977962005/09/16(金) 12:36:40ID:???
追加スマソ

掲示板は
・ツリー式
・アンカーでレス指定可
・過去ログ調査と発言検索

書き忘れた…orz
0798nobodyさん2005/09/16(金) 15:11:53ID:???
理解しにくい部分というか、そもそも前提が書かれてないんだけど。

[PC及び携帯電話各キャリアで使用できるもの] の [もの] って何?
[会員登録+αという感じの物] の [物] って何?

最低限の情報から推測するに、ダウンロード機能付きの掲示板なのか、
はたまた大きく予測して、例えばサイボウズのようなグループウェア的な何かなのか。

ただでさえ大掛かりな依頼なんだから、こんな書き殴りじゃなくて
ちゃんと伝えたい事をまとめて文章を練らないと、誰もやらないと思う。
0799nobodyさん2005/09/16(金) 20:49:13ID:???
>>793さん
言葉足らずで申し訳ない。すみません。

「もの」とは助詞ですよ。「もの=CGI」ですね。
「物」はただ単にタイプミスです。ごめんなさい。
依頼はグループウェアになります。
登録したID、PASSをページアクセスやダウンロード、掲示板など様々に共有できるのが特徴です。

そしてID、PASSを入力しないと「ID、PASSを入力してください」のように表示されダウンロードできないというわけです。
ついでにダウンロードするものはjpgやgifの画像だったり3gpやamcの動画で一定ではありません。

複雑で申し訳ないです。
足りない情報があれば言ってください。
よろしくお願いします。
0800nobodyさん2005/09/17(土) 04:36:51ID:???
>>799
オマエな、助詞ですよって、根本が説明されてないことを指摘されてるんであって・・・
矜持だけは高いな
08017982005/09/17(土) 07:06:20ID:???
>>799
しかもそれ助詞じゃないし。
まぁそれはいいとして、この文脈で聞かれてるのは「もの=CGI」じゃなくて「もの=グループウェア」ですよね。
そもそも、運用環境とかあなたがフォローしきれない(ということにしときます)技術的な事をつっこんで聞く前に、
その対象が全くもって曖昧なわけですよ。

例えば、
[など様々に] の [など] や [様々] とは具体的になんですか?必要な機能をリストアップしてください。
とかって、そういう根本的なことを、何度も何度もいちいち聞いてられないんですよ。
こういうことは別に技術者と対話的、インクリメンタルにやらなくても、提示だけならそっちでできることでしょうに。
なにせ 自分が作ってほしいもの なわけだから。
それに対して技術的なつっこみが入るのはまた別の話で、今回のはそもそも技術的につっこみようがないほど曖昧なんですよ。

規模を見積もりして、やるか(やれるか)どうかの判断を側としては、
根本の依頼内容を後出しでやられるのって最も困るわけですよ。

もう作る気がない俺がこういうこと言うのも野暮だけど、投げっぱなすのも嫌なので一応レスポンスしておきます。
0802nobodyさん2005/09/17(土) 12:47:21ID:KGi7Vxty
ディレクトリの中を閲覧して、htmlファイルの中身の<title>の要素にリンクが
貼れるcgiありますか?
簡単に言うとgoogleのサイト内検索みたいなやつです
0803nobodyさん2005/09/17(土) 15:05:18ID:???
そもそもtitle要素にリンクを張るって意味から想像しないといけない。
私は1行から意図を完璧に把握出来るエスパーではない、これじゃ何を作って欲しいのかさっぱり分からん。
詳しい仕様もないのに作れるわけがない。

(特定ディレクトリ内のHTMLファイルからtitle要素を抜き出し、それぞれのファイルへのリンクを生成しリスアップする。って意味か?
 <ul><li><a href="hoge1.html">title</a></li>....</ul> )

何にせよ、情報を小出しにしたり断片的な物しか伝えないのは、依頼として不十分な上に回答者に失礼。
作って貰うのは諦めて、大人しく全文検索でも導入するか金払って誰かに作ってもらいなさい。
0804nobodyさん2005/09/17(土) 15:07:21ID:???
>>802
スレタイ読め
08058042005/09/17(土) 15:15:07ID:???
>>802は別にいいんじゃ?
1,2行目だけだとハァ?って感じだけど、3行目の
>簡単に言うとgoogleのサイト内検索みたいなやつです
でやりたいことは十分に伝わる気が。
まぁ、対象htmlから読み出す情報はtitle要素内の文字列だけでいいのか、とか
もうちょっと掘り下げて説明して欲しい気もするけど。

んで、>>802はありますか?って用件なら
この板とか、Web制作板にサイト内検索関連のスレとか、
こんなcgiありますか的なスレがいくつかあるので、そっちに行ってくれ。
実際に既存のものを調べてから、ご希望のものがなかった時は
このスレか、改造依頼スレに改めて来てくれ。
0806nobodyさん2005/09/17(土) 15:21:19ID:KGi7Vxty
すいませんでした。けっこう分かりやすく書こうと注意を
払ったのですがorz

http://masago.kir.jp/php20041028.php
このサイトではphpを使ってディレクトリの中のファイルを参照していますが、
そもそもphpではファイルの情報は更新日時などしか得られません。
しかし、
http://siriasu.s10.xrea.com/cgi-bin/wsrch313/wwwsrch.cgi
のサイトで検索するとhtmlのtitle要素が画面にでてきて
それをクリックするとそのファイルに移動できるようになっています。

自分がほしいCGIは一番上のリンク先の
20030111.jpg
20030111s.jpg
20030114.jpg
のように並んでいるのをタイトル名で並ばせたいんです

0807nobodyさん2005/09/17(土) 15:25:22ID:???
>>806
扱いたいのは、html ファイルぽ?
0808nobodyさん2005/09/17(土) 15:26:04ID:KGi7Vxty
>>807
そうです。
0809nobodyさん2005/09/17(土) 15:34:29ID:KGi7Vxty
まずこんなcgiありますかスレに逝ってみます
0810nobodyさん2005/09/17(土) 16:26:31ID:???
マルチですか。
0811nobodyさん2005/09/17(土) 17:05:12ID:KGi7Vxty
>>810
どこにマルチした?
>>805に
>>こんなcgiありますか的なスレがいくつかあるので、そっちに行ってくれ。
と言われたから
こんなcgiありますかスレには質問したけどね
0812nobodyさん2005/09/17(土) 17:06:21ID:???
なんか変な人だ。
0813nobodyさん2005/09/17(土) 20:21:25ID:???
態度が急変したので作る気なくしたw
0814nobodyさん2005/09/17(土) 21:18:01ID:???
ワロタ
0815nobodyさん2005/09/18(日) 00:53:10ID:???
なんだかねぇ
0816nobodyさん2005/09/18(日) 15:22:24ID:???
態度が豹変ってテラワロスww
0817こめじ ◆2MRfotqID2 2005/09/22(木) 01:17:38ID:???
言語がPHPで
パスワードをいれると
<html><body>a</body><html>を表示するものをお願いします。
HTMLソースは
<form action="" method="post">
<input type="password" name="p" size="4">
<input type="submit" name="s" value="+">
</form>
フォームはPOST
ファイルは一つでお願いします。
0818nobodyさん2005/09/22(木) 08:11:50ID:???
>>817
<?php
if (isset($_POST['p'])) {
echo '<html><body>a</body><html>';
}
else {
?>
<form action="" method="post">
<input type="password" name="p" size="4">
<input type="submit" name="s" value="+">
</form>
<?php
}
?>
0819nobodyさん2005/09/22(木) 14:17:55ID:???
ワロタ
08208182005/09/22(木) 14:44:59ID:???
>>818
isset($_POST['p']じゃなくて
!empty($_POST['p']
ですね
0821nobodyさん2005/09/22(木) 18:01:56ID:???
まぁ仕様通りだしなw
0822こめじ ◆jnwWdLng6M 2005/09/22(木) 19:01:39ID:???
パスワードは何になるのですか?
0823nobodyさん2005/09/22(木) 19:25:20ID:???
任意の文字列です。
0824こめじ ◆jnwWdLng6M 2005/09/23(金) 16:25:34ID:???
何入れてもはいれますよね?
たとえばpassが「0000」だとどうすればいいんでしょうか。
0825ひとみ2005/09/23(金) 18:53:19ID:rwdbKOga
785さん>

Thu Sep 29 14:45:38 2005
1127972738
------------------------------
Mon Sep 12 17:00:00 2005
1126512000
$nowより小さい
------------------------------
Thu Sep 15 17:00:00 2005
1126771200
$nowより小さい
------------------------------
Sun Sep 18 17:00:00 2005
1127030400
$nowより小さい
------------------------------


上記のような結果がでました。
やはり、17時を境に、判定がおこなわている感じでしょうか?
よろしくおねがいします。
0826ひとみ2005/09/23(金) 19:23:19ID:rwdbKOga
#!/usr/bin/perl
require 'C:\\home\\php\\cgi-bin\\bunki\\timelocal.pl';
$ENV{'TZ'} = 'JST-9';
$\ ="\n";
$now = time();
($uri = 'http://' . $ENV{'HTTP_HOST'} . $ENV{'PATH_INFO'}) =~ s/(.*\/).*/$1/;
if ($now >= timelocal(0, 0, 0, 12, 8, 105) && $now < timelocal(0, 0, 0, 15, 8, 105))
{ $uri .= 'a.html'; }
elsif ($now >= timelocal(0, 0, 0, 15, 8, 105) && $now < timelocal(0, 0, 0, 18, 8, 105))
{ $uri .= 'b.html'; }
else
{ $uri .= 'c.html'; }
print <<"END\n";
Status: 302 Found
Location: $uri
Content-Type: text/html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>302 Found</title></head><body><p><a href="$uri">$uri</a></p></body></html>
END\n

ちなみに今の全体のソースは、上記のようなかんじです。
なにか見落としや欠点があるでしょうか?
0827nobodyさん2005/09/23(金) 20:38:32ID:rwdbKOga
#!/usr/bin/perl
require 'C:\\home\\php\\cgi-bin\\bunki\\timelocal.pl';
$t_lag = 17;
$ENV{'TZ'} = "GMT";
$tim = time + $t_lag * 3600;
($sec,$min,$hour,$mday,$mon,$year,$wday) = localtime($tim);
$\ ="\n";
$now = $tim;
($uri = 'http://' . $ENV{'HTTP_HOST'} . $ENV{'PATH_INFO'}) =~ s/(.*\/).*/$1/;
if ($now > timelocal(0, 0, 0, 12, 8, 105) && $now < timelocal(0, 0, 0, 16, 8, 105))
{ $uri .= 'a.html'; }
elsif ($now > timelocal(0, 0, 0, 16, 8, 105) && $now < timelocal(0, 0, 0, 19, 8, 105))
{ $uri .= 'b.html'; }
else
{ $uri .= 'c.html'; }
print <<"END\n";
Status: 302 Found
Location: $uri
Content-Type: text/html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>302 Found</title></head><body><p><a href="$uri">$uri</a></p></body></html>
END\n
0828ひとみ2005/09/23(金) 20:40:28ID:rwdbKOga
結局上記のように、修正して直しました。
原因はわからないですが、ずれている時間分強制的にコードに補正をかけました。
いろいろ文献をしらべていたんですが、
一部のサーバーでは、時間取得の環境変数を認識できないようです。
うらづけとして、タイムゾーンをGMTに設定しなおしたところ、
問題無く、ソースを直すことなく、時間で、分岐しました。
IISのサーバ環境で、日本時間に対応する場合は、ソースに手を入れなければならないようですね。
他に方法があれば情報をお願いします。いろいろ勉強になりました。
みなさんありがとうございました。
0829nobodyさん2005/09/23(金) 23:46:55ID:???
おめ
0830nobodyさん2005/09/25(日) 23:04:56ID:dfiefGJU
ブラックメールのサイトみて
面白いと思ったのですが、
結果見るときにサイトにリンクされてしまって
ばれてしまうので自分で設置してみようと思ってます。

ttp://ne96.jp/index.asp
ttp://kool1.s14.xrea.com/(携帯じゃないと見れません)

こんな感じのcgiありませんか?
いろいろ質問つくってみたいです。
0831nobodyさん2005/09/25(日) 23:09:55ID:???
>>830
マルチ
0832nobodyさん2005/09/25(日) 23:45:40ID:???
>>830
悪趣味。スレ違い
0833nobodyさん2005/09/26(月) 02:38:34ID:nDHqNWNQ
Z-Z BOARDそっくりな掲示板ないでしょうか?
0834nobodyさん2005/09/26(月) 11:24:56ID:???
【CGI】こんなCGI探してますver.18
http://pc8.2ch.net/test/read.cgi/hp/1123833110/
0835nobodyさん2005/09/27(火) 01:02:41ID:???
なんとなくsage。

メールサーバーに届いたメールをチェックして、特定の文字列が含まれていたら
エラーメールを返すCGI。

・・・があったら嬉しい。

最近スパム多いのよ;;
メルアド短いし記号も何もないけど、誰も知らない(と胸張っていえるぐらい)
特殊な言葉使ってるんで、きっとどこからか漏れたんだと思うんだけど。

削除するCGIならあります。これをどうにかすればできないかと思いますが
0836nobodyさん2005/09/27(火) 02:06:39ID:???
>>835
簡単だが、そーゆーのを CGI で作るやつはばかです。
0837nobodyさん2005/09/27(火) 08:27:37ID:???
>>835
スパムにエラーメールを返しても何の意味もない。
スパムが増えることはあっても減ることはないからやめておけ。
スパムは相手にしないで削除が基本だよ。
08388352005/09/27(火) 18:07:57ID:???
>>836
CGIしか扱えないんで。
もっとも、探せばどっかにソフトが落ちてましたが
そっちはちょっとね。

>>837
エラーメールなら増えることはないのでは。
返信したり抗議したり「メールいらねぇ」受付にメールしたりすれば増えるけど。
確かに削除基本だけど、もうねぇ・・・(嘆息)
0839nobodyさん2005/09/27(火) 19:08:21ID:???
>>838
デーモンが吐くエラーメールと偽造したエラーメールとじゃヘッダが全然違うだろうよ
素直にSpamAssassinとかで弾いとけ
0840nobodyさん2005/09/27(火) 20:08:56ID:???
>>838
>>839
本物のエラーメールと見比べればバレるけど。
違うのは一箇所。
Receivedにバウンスがあるかないか。

ま、でももう、やめときます(・・;
0841nobodyさん2005/09/27(火) 23:26:18ID:???
>>838
頭大丈夫?
0842nobodyさん2005/09/28(水) 05:34:05ID:???
指定した日付までを日数(できれば時間まで)で表示するものは作れますでしょうか?
言語はPHPでお願いします。
0843nobodyさん2005/09/28(水) 06:30:12ID:???
簡単ですね。
0844nobodyさん2005/09/28(水) 07:10:40ID:???
まぢですか。
08458422005/09/28(水) 08:19:20ID:???
自己解決しました。
08464172005/09/28(水) 18:04:01ID:???
【種別】 文字列画像化・画像吐き出し
【言語】 -
【備考】 フォーム等に文字を入力し、
      その文字列を画像化・画像吐き出しが出来る物を実現可能であれば、
      こちらのスレッドの方に作って頂けると嬉しいです。
0847nobodyさん2005/09/28(水) 19:10:52ID:???
>>846

http://makimo.to/2ch/pc8_hp/1116/1116923112.html#953
もうないけど。
0848nobodyさん2005/09/28(水) 20:23:01ID:???
Perlで実現する場合を、推測を交えて

案1.GDやImage::Magick等のモジュールを使う(jpegやpng等の一般的な画像フォーマットを「画像」と推測)
問題 : 運用環境次第。
    使える環境ならコード自体は簡単に書けちゃうレベルなんで誰か書くでしょう。

案2.自力でバイナリを吐くPurePerlコードを書く(jpegやpng等の一般的な画像フォーマットを「画像」と推測)
問題 : これを顔も知らない人間のためだけにボランティアでやってやろうと思う人間が存在するかどうか・・・

案3.SVGを出力する
問題 : 依頼人の言うところの「画像」が何を指すかによる。
    SVGでいいならテキストベースの世界で扱いが楽なんで誰か書くでしょう。
    が、出力される画像が依頼人の想定する「使用法」の要求を満たさない可能性が高い。(あくまで推測)

とりあえず足りない情報 : 運用環境、「画像」の詳細。
0849nobodyさん2005/09/29(木) 04:07:34ID:???
>>847
ありがとうございます、
過去ログに目を通したつもりでしたが、ちゃんとあったのですね。。

>>848
ありがとうございます、不足で申し訳ありません。。画像はgif,png,jpgです。
環境はApache案1,GDとImage::Magickの2つが使えます。
3,画像の使用方法はニュースティッカーのような物を考えてます。

まだ不足かもしれません。。申し訳ありません。。
0850nobodyさん2005/09/29(木) 12:19:55ID:???
PHPで作ったほうが早そうだな。
まかせろ。
0851nobodyさん2005/09/30(金) 02:50:13ID:???
>>850
ありがとうございます!
08528502005/10/01(土) 01:32:34ID:oUQlkRla
やっぱやめた
>>851はもう諦めろ。
0853nobodyさん2005/10/01(土) 03:03:51ID:???
×やっぱやめた
○できなかった
0854nobodyさん2005/10/01(土) 08:27:46ID:???
とりあえず、>>846程度ならこの土・日でphpを勉強すれば出来るようになると思うよ。
頑張れ>>846!
0855nobodyさん2005/10/01(土) 11:50:28ID:???
>>846
<?php
$text = "日本語";
$text = mb_convert_encoding($text, "utf-8", "sjis");
$im = @imagecreatetruecolor (500, 100)
or die ("Cannot Initialize new GD image stream");
$bg_color = ImageColorAllocate ($im, 0, 0, 255); //背景色青
imagefill($im, 0, 0, $bg_color);
$text_color = ImageColorAllocate ($im, 255, 0, 0); // 文字色赤
#$font_path = 'C:\WINDOWS\Fonts\msmincho.ttc'; //MS 明朝
$font_path = 'C:\WINDOWS\Fonts\msgothic.ttc'; //MS ゴシック
imagettftext($im, 32, 0, 10, 40, $text_color, $font_path, $text);
header ("Content-type: image/png");
Imagepng ($im);
imagedestroy($im);
exit;
?>
08568552005/10/01(土) 13:53:33ID:???
改良しました
http://nike.s151.xrea.com/gd/gd.php
ソースは
http://nike.s151.xrea.com/
フォントは自分で用意してね
0857nobodyさん2005/10/01(土) 14:06:09ID:???
画像のサイズを320*240にできない?
0858nobodyさん2005/10/01(土) 14:13:13ID:???
>>857
$im = @imagecreatetruecolor (500, 100) // ここが画像のサイズ
imagettftext($im, 32, 0, 10, 40, $text_color, $font_path, $text); // ここが文字の開始場所 10,40
画像の真中に配置したい時は imagettfbbox()を使って開始場所を計算。
08598462005/10/01(土) 18:08:18ID:???
>>854
ありがとうございます!
がんばります!
>>855
ありがとうございました!
がんばります!

ありがとうございました!
0860nobodyさん2005/10/02(日) 02:21:21ID:???
>>856
改めてありがとうございました!
0861aさん2005/10/02(日) 11:35:27ID:udtZABg1
軽い掲示板サイトを作りたいのですが
CGIでよろしいのですか
0862nobodyさん 2005/10/02(日) 16:08:40ID:tJyd7zmi
2ちゃんねる掲示板みたいなCGI作って
0863nobodyさん2005/10/02(日) 16:25:14ID:???
>>862
既にある
0864nobodyさん 2005/10/02(日) 16:28:29ID:tJyd7zmi
どこにあるの
0865nobodyさん2005/10/02(日) 17:22:52ID:???
自分で調べろ低脳
0866nobodyさん2005/10/02(日) 19:38:38ID:8Vghet5a
2 :nobodyさん :04/12/14 08:58:02 ID:???
>>1
責任もって作れよ


0867nobodyさん2005/10/02(日) 19:41:16ID:8Vghet5a
862 :nobodyさん :2005/10/02(日) 16:08:40 ID:tJyd7zmi
2ちゃんねる掲示板みたいなCGI作って さん
かわいそうだろ〜
教えるべき
0868nobodyさん2005/10/06(木) 14:30:34ID:???
こちらのスレって機能してますでしょうか?
0869nobodyさん2005/10/06(木) 14:43:01ID:???
してません
0870nobodyさん2005/10/10(月) 20:36:42ID:OeqpC+Xy
ライブカメラ中継スクリプトって作れませんか?
カメラが繋がってるIPを晒したくないので・・・

1.CGIを起動
2.指定されたライブカメラにアクセスする
3.カメラのJPEG画像を取り込む
4.画像を表示
5.終了

どうかお願いします。
0871nobodyさん2005/10/10(月) 20:48:32ID:???
しらんがな
0872nobodyさん2005/10/10(月) 21:00:17ID:???
>>870
カメラが繋がってるPCから定期アップロードした方が簡単だと思う
0873nobodyさん2005/10/10(月) 21:39:20ID:???
>>870

#!/usr/bin/perl
use LWP::UserAgent;

$url = 'http://example.com/livecam.jpg';

$ua = LWP::UserAgent->new;
$r = $ua->get($url);
print 'Content-Type: image/jpeg', "\n\n";
binmode(STDOUT);
print $r->content;


こんなんか?動作確認もしてないけど
0874nobodyさん2005/10/11(火) 01:35:24ID:VWDYwKU6
【種別】 高機能ブックマーク
【言語】 不問
【備考】 
・複数カテゴリ
・カテゴリ/任意のワード 検索
・検索結果の各要素毎ソート
(要素=カテゴリ,URL,タイトル,登録時間,コメント)
を備えたリンク集(オンラインブックマーク)、誰か作ってくれませんかね

htttp://photo.www.infoseek.co.jp/Image.asp?pn=53211
連休中に見よう見まねで作ってみましたが
複数カテゴリの検索方法がうまく考案できなかった挙句
重くて使い物にならないものができてしまいました(;´ー`)

データファイルのフォーマットは
カテゴリ1,カテゴリ2,カテゴリn<>タイトル<>URL<>コメント<>時間
の ようにして、Perlでやってみたのですが、
上記の機能を持つとなると、やはり複雑になるんデスかね
0875nobodyさん2005/10/11(火) 03:50:46ID:???
DBに放り込んでSQLで検索するのはダメなのか?
0876nobodyさん2005/10/11(火) 08:05:15ID:VWDYwKU6
そっちの方が簡単ですかね
とりあえずデータのフォーマットは何でもいいんです
0877nobodyさん2005/10/11(火) 09:02:28ID:???
テキスト形式で保存しても、特に問題ないと思う。

まぁ、勉強も兼ねてDBで作ってみたらどうだ?
0878nobodyさん2005/10/13(木) 19:45:56ID:ZQlsho1K
.htaccessについてちょっと質問させてください。
ipのほかにブラウザの制限を入れたいのですが、以下のどの箇所に記述すればいいのでしょうか? <Limit GET POST PUT> から</Limit> の間に入れればいいんですよね?
色々試して見たのですが自分まで制限の対象になってしまいます。

<Limit GET POST PUT>
order allow,deny
allow from all
deny from tokyo.ocn.ne.jp
</Limit>

また、compatible; MSIE 6.0; Windows 98; (R1 1.3)を制限したい場合の書き方は以下の通りでいいのでしょうか?

SetEnvIf User-Agent "compatible; MSIE 6.0; Windows 98; (R1 1.3)" deny_ua
order allow,deny
allow from all
deny from env=deny_ua
0879nobodyさん2005/10/13(木) 19:53:16ID:geTy/+mk
スレ違い
0880nobodyさん2005/10/13(木) 23:06:37ID:???
の マルチさん。。。
http://pc8.2ch.net/test/read.cgi/hp/1123833110/569
0881nobodyさん2005/10/13(木) 23:56:23ID:???
さらにマルチ。
http://pc8.2ch.net/test/read.cgi/hp/1128774075/15
氏ねやボケ。
0882nobodyさん2005/10/14(金) 13:23:52ID:???
こういうのを自己中というんだろうなぁ
0883検作2005/10/18(火) 17:52:08ID:OUilIuE0
はじめまして。
【種別】 検索cgi
【条件】 フリー
【言語】 Perl
checkboxで複数の条件を選ぶ、中古車の検索でよく見かけるような
cgiを作っているのですが、checkboxで47都道府県を指定し、次に
checkboxでメーカーを選んで、さらにcheckboxでオプションを選んで検索
という部分がうまくいきません。
(東京or埼玉)and(トヨタor日産)and(左ハンドルandディーラー車)
という検索をしたいのですが、現状では
(東京and埼玉andトヨタand日産and左ハンドルandディーラー車)
という検索になってしまいます。
トヨタand日産のダブルネーム車なんてありえないのでor検索にしたいのですが
どなたか知恵を貸していただけませんか?

※参考までにヤフーの中古車検索です。
http://usedcar.autos.yahoo.co.jp/joken.html
0884nobodyさん2005/10/18(火) 18:09:42ID:???
データ層がどうなってて、どういう検索の仕方をしてるかが"全く"書かれてませんので、
残念ながら「or検索すればいいんじゃないでしょうか?」としか答えられません。
0885nobodyさん2005/10/18(火) 18:40:45ID:???
ヒントだけでいいのかな?
要は、フォームから送られてくるデータを各グループ(地域、メーカー、装備 etc.)に分類できるようにして、
各グループ内ではor グループ間に対してand したい、ってことになるよね。

まずは、そのグループ化をどうやって実現すればいいかを考えてみればいいんじゃないかな。
(1つのグループの中に)複数のcheckboxがあるとして、
それらのnameが同一 -> グループ化した値がcgiに渡される (そのサイトでのボディタイプ)
それらのnameが異なる -> それぞれ別名の値 (そのサイトでの装備)
0886nobodyさん2005/10/18(火) 18:43:04ID:???
俺はまたSQLの書き方でも聞かれてるのかと
0887nobodyさん2005/10/18(火) 19:12:49ID:???
>>883
車のデータが既にあるの?
だとしたらそのフォーマットがわからんと答えようが無いぞ?
0888検作2005/10/18(火) 19:16:33ID:OUilIuE0
>>884
説明不足ですみません。
もう遅いかもしれませんが下にソース書きます。
>>885
SQL(?)データベースを作るための言語なんですか?
>>885
超初心者で質問の仕方もわかりにくかったかも知れませんが応えて頂いてありがとうございます。とりあえずor検索にしたいnameをそろえてlogに保存される様にはなりました。
今までどおりすべてand検索されるままですが下記にソースの一部書きましたのでなにかアドバイス頂けたら幸いです。
0889検作2005/10/18(火) 19:18:24ID:OUilIuE0
#表示部分
print "<form method=\"GET\" action=\"$scriptname\">n\n";
print "<input type=\"hidden\" name=\"mode\" value=\"search\">n\n";
print "■地域<br>\n\n";
print "<INPUT TYPE=CHECKBOX NAME=M1 VALUE=\"1\">東京\n\n";
print "<INPUT TYPE=CHECKBOX NAME=M1 VALUE=\"2\">埼玉\n\n";
print "<INPUT TYPE=CHECKBOX NAME=M1 VALUE=\"3\">神奈川\n\n";
print "<INPUT TYPE=CHECKBOX NAME=M1 VALUE=\"4\">千葉\n\n";
print "<INPUT TYPE=CHECKBOX NAME=M1 VALUE=\"5\">茨城\n\n";
print "<INPUT TYPE=CHECKBOX NAME=M1 VALUE=\"6\">群馬\n\n";
print "<br>■メーカー<br>\n\n";
print "<INPUT TYPE=CHECKBOX NAME=M2 VALUE=\"1\">トヨタ\n\n";
print "<INPUT TYPE=CHECKBOX NAME=M2 VALUE=\"2\">日産\n\n";
print "<INPUT TYPE=CHECKBOX NAME=M2 VALUE=\"3\">ホンダ\n\n";
print "<br>■オプション<br>\n\n";
print "<INPUT TYPE=CHECKBOX NAME=M3 VALUE=\"1\">ディーラー車\n\n";
print "<INPUT TYPE=CHECKBOX NAME=M4 VALUE=\"1\">左ハンドル\n\n";
print "<INPUT TYPE=CHECKBOX NAME=M5 VALUE=\"1\">ワンオーナー\n\n";
print "<INPUT TYPE=CHECKBOX NAME=M6 VALUE=\"1\">検2年付き\n\n";
print "<INPUT TYPE=CHECKBOX NAME=M7 VALUE=\"1\">エアバッグ装備\n\n";
print "<INPUT TYPE=CHECKBOX NAME=M8 VALUE=\"1\">リモコンキー\n\n";
print "<input type=submit value=\"検索する\">";
print "</form>
0890検作2005/10/18(火) 19:20:39ID:OUilIuE0
if ($in{'M1'} != $m0 && $in{'M1'} != $m1) { next; }
if ($in{'M2'} != $m0 && $in{'M2'} != $m1) { next; }
if ($in{'M3'} != $m0 && $in{'M3'} != $m1) { next; }
if ($in{'M4'} != $m0 && $in{'M4'} != $m1) { next; }
if ($in{'M5'} != $m0 && $in{'M5'} != $m1) { next; }
if ($in{'M6'} != $m0 && $in{'M6'} != $m1) { next; }
if ($in{'M7'} != $m0 && $in{'M7'} != $m1) { next; }
if ($in{'M8'} != $m0 && $in{'M8'} != $m1) { next; }
0891nobodyさん2005/10/18(火) 19:26:42ID:???
これで終わられてもな・・・
0892検作2005/10/18(火) 19:27:35ID:OUilIuE0
何度もすみません。文字数制限と改行制限に引っかかっているうちに間違えました。↑ではなく、これです。
#検索処理
$in{'word'} =~ s/ / /g;
@word = split(/\s+/, $in{'word'});

open(IN,"$logfile") || &error("Open Error : $logfile");
$i=0;
while (<IN>) {
($no,$com,$m1,$m2,$m3,$m4,$m5,$m6,$m7,$m8,$a,$a,$a,$a,$a,$a,$a,$a,$a,$a) = split(/<>/);

if ($in{'M1'} != $m0 && $in{'M1'} != $m1) { next; }
if ($in{'M2'} != $m0 && $in{'M2'} != $m2) { next; }
if ($in{'M3'} != $m0 && $in{'M3'} != $m3) { next; }
if ($in{'M4'} != $m0 && $in{'M4'} != $m4) { next; }
if ($in{'M5'} != $m0 && $in{'M5'} != $m5) { next; }
if ($in{'M6'} != $m0 && $in{'M6'} != $m6) { next; }
if ($in{'M7'} != $m0 && $in{'M7'} != $m7) { next; }
if ($in{'M8'} != $m0 && $in{'M8'} != $m8) { next; }
# キーワード検索部
$flag=1;
foreach $key (@word) {
if (index($_,$key) >= 0) { $flag=1; }
else { $flag=0; last; }
}
0893nobodyさん2005/10/19(水) 04:24:48ID:???
固めてうpしろよ。
0894nobodyさん2005/10/19(水) 07:46:20ID:???
>>892
検索するならMySQLとかpostgreSQLとかのDB使った方がいいよ
0895検作2005/10/19(水) 15:48:19ID:UiRsXa7y
>>894
ありがとうございます。勉強してみます。
>>皆様
このスレの空気を乱してしまいそうなのでここでの質問はあきらめますね。
質問の仕方も含めて場の空気を読めるようになったら又来ます。
ありがとうございました。
0896nobodyさん2005/10/19(水) 15:53:40ID:???
空気じゃなくてスレタイ読む練習して、次からは質問は質問スレでお願いしますね。
■ このスレッドは過去ログ倉庫に格納されています