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

【PHP】下らねぇ質問はここに書き込みやがれ 72

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/08/16(土) 12:01:25ID:???
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 71
http://pc11.2ch.net/test/read.cgi/php/1216291372/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0082nobodyさん2008/08/19(火) 09:36:03ID:+fWBJARS
>>81
お返事ありがとうございます。
phpの場合、型があいまいで、コンパイルエラーもない
値を返却しないとセキュリティー的にまずいかなぁとも思ったのですが、
true/falseならいいですね。それで実装してみます。
ありがとうございます。
0083nobodyさん2008/08/19(火) 10:36:47ID:???
Eclipse以外ないわ…
0084nobodyさん2008/08/19(火) 11:07:28ID:???
php_editor使ってるなぁ
ハイライトくらいしか求めるものがないから、軽量なのを選択したって感じ
一応コード補完も自動じゃないにしろあるし(ctrl+space

eclipseの機能の豊富さと拡張性はいいな
メモリ食いなのがどうもなぁ・・・JavaのGCが嫌いと言う個人的な意見だが(スレ違い割愛
0085nobodyさん2008/08/19(火) 11:43:59ID:???
個人開発で個人サイトなのにZend Studio 5.5使ってる俺は勝ち組。
個々ファイルをちまちま編集するのに結構便利だったりするんだよね。
逆に得意とすべきプロジェクト部分が弱い感じ。。

Zend Studioの新版はEclipseベースでプロジェクトメインって感じだから乗り換えるにはちょっと勇気がいる。
0086nobodyさん2008/08/19(火) 12:02:03ID:???
Javaのeclipseみたいに、メソッドの名前を修正すると、
一括して他のクラスが参照しているメソッドの名前を修正してくれたり、
警告を出してくれるようなものはないのかな?
実行時に参照してやっとエラーが出るのが、ちょっっと。
0087nobodyさん2008/08/19(火) 12:15:32ID:???
修正前の名前でgrepすれば警告の代替になるわな
0088nobodyさん2008/08/19(火) 12:16:48ID:???
>>87
Javaのeclipseなら、そんな面倒なことをせずに右クリックで一発なんだが。
0089nobodyさん2008/08/19(火) 12:18:53ID:???
javaのたとえでPHPではできないんだが
0090nobodyさん2008/08/19(火) 12:26:25ID:???
IDEに慣れきってるとgrep程度が面倒と感じるのか
だったら楽になるのを作ればいいんじゃね?
0091nobodyさん2008/08/19(火) 12:33:35ID:???
>>90
作業効率を高めるためにIDEを使っているのに、
自分で作ったら逆に時間が掛かって本末転倒だろw?
死ぬの?
0092nobodyさん2008/08/19(火) 12:41:39ID:???
>>91
業務で使ってるならZendでも買えば?
でなきゃずっとクレクレしてればいいと思うよ
0093nobodyさん2008/08/19(火) 12:42:32ID:???
>>91
ほっとけ、どうせ>>90は暑さで頭がおかしくなっているか、もしくは元々おかしい。
なんでも自分でやろうして自滅するタイプ。
他人の作った物を信用せず、自分が一番だと思っているんだろ。
つまり、猜疑心が強く、逆にいえば、自己顕示欲が強い奴だ。
この手のタイプはプログラマーに多いが、
こういう奴は、大概ドキュメント書くのが下手。そしてプログラムにもコメントを書かない。
三項演算子を多用してプログラムを短くことに執着心と美学を感じている。
うざい、うざすぎる。暑いのが、更に暑くなる。
0094nobodyさん2008/08/19(火) 12:43:42ID:???
お前もまともには見えないが・・
0095nobodyさん2008/08/19(火) 12:54:19ID:???
反論できないやつはすぐ>>93みたいなこと書くんだよな
0096nobodyさん2008/08/19(火) 12:59:50ID:???
レッテルを貼りたいお年頃ってやつですね、わかります

それはともかく、面倒なのも嫌、作るのも嫌なら自分で探してくるか
お金を払って誰かに作ってもらいなさいね
もしかして自分で探すのも時間がかかって本末転倒?
0097nobodyさん2008/08/19(火) 13:01:02ID:???
>>95
ほっとけ。どうせ>>93は暑さで頭がおかしくなっているか、もしくは元々おかしい。
0098nobodyさん2008/08/19(火) 13:13:43ID:???
>>96
> レッテルを貼りたいお年頃ってやつですね、わかります
お前自身がレッテル貼ってんじゃんw
自己矛盾にも気づかないんだろうなぁ。それとも新手の釣りですかw?
0099nobodyさん2008/08/19(火) 13:28:58ID:???
おいおい顔真っ赤にしてレスしてんなよ^^;
0100nobodyさん2008/08/19(火) 13:47:24ID:???
顔真っ赤な人が多いね
文章書く時に癖に気をつけないとね
0101nobodyさん2008/08/19(火) 15:10:20ID:???
それぞれ求める環境は違うんだから、IDEに依存したって、ラインエディットを好んだっていいじゃん
希望を満たしたIDEを知ってるなら教えてやればいいし、ないならないでいい

まとめ厨の俺乙
0102nobodyさん2008/08/19(火) 15:35:33ID:???
連想配列のソートは可能ですか?

$array = array(

1 => array("田中", 38),
2 => array("吉田", 67),
3 => array("渡辺", 11),

);

これを数値の低い順番に

$array = array(

3 => array("渡辺", 11),
1 => array("田中", 38),
2 => array("吉田", 67),

);

のようにソートしたいんですがどのようにすればよいのでしょうか
0103nobodyさん2008/08/19(火) 15:37:08ID:???
>>102
エーソート
0104nobodyさん2008/08/19(火) 15:37:43ID:2hCJvM5X
質問です。
PHP 5.2.1を使用しています。

$handle = file("http://www.yahoo.co.jp/");

を実行すると

Warning: file(http://www.yahoo.co.jp/) [function.file]: failed to open stream: HTTP request failed! <!doctype html public "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> in C:\Program Files\xxxxx\xxxxx\test.php on line 2

とエラーになります。
php.iniのallow_url_fopenはOnです。
どうすれば外部urlを読み込めるのでしょうか?
何卒宜しくお願い致します。
01051022008/08/19(火) 15:39:03ID:5mUkQ2xD
すみませんsage解除忘れていました。
宜しくお願いします。
0106nobodyさん2008/08/19(火) 15:40:38ID:???
>>104
xampp?
01071042008/08/19(火) 15:54:09ID:2hCJvM5X
>>106
xamppです。
0108nobodyさん2008/08/19(火) 16:02:11ID:???
lol
0109nobodyさん2008/08/19(火) 16:10:42ID:???
>>102
array_multisort
0110nobodyさん2008/08/19(火) 16:28:03ID:???
:P
0111nobodyさん2008/08/19(火) 16:58:24ID:???
>>102
どこも連想配列じゃない罠。
0112nobodyさん2008/08/19(火) 17:08:24ID:rbkh+xPC
cgiとしてphpを実行するとき、スーパーグローバル変数の初期化やheader関数でヘッダを送信できるようにするにはどのように設定すればいいのでしょうか?
0113nobodyさん2008/08/19(火) 17:09:43ID:???
>>104
phpinfo()で「Registered PHP Streams」にhttpはあるのか?

>>102
多次元配列だな
array_multisortを使え
数値列を1次元配列で取得してarray_multisortの最初の引数にSORT_ASCフラグと一緒に指定
第2引数に元の配列を入れる
これで出来んか?

0114nobodyさん2008/08/19(火) 17:15:36ID:???
>>112
header関数が使えないってどういう状況だろう
既に送信済みなんじゃないのか?

スーパーグローバルも使えるはずだが・・・
var_dump($_GET);とかで見れないか?
まさかregister_globalsのことじゃないだろうな
0115nobodyさん2008/08/19(火) 17:23:40ID:VxtPs/tV
コンテンツをゲットするとき(readfile/file_get_contents等)でユーザー名とパスワードが必要な場合は
どうしたらいいんでしょうか。
0116nobodyさん2008/08/19(火) 17:26:20ID:???
>>115
http経由か?
それなら 「ttp://ユーザ名:パスワード@ドメイン/URL」でイインダヨー!!
ユーザ名とパスワードをrawurlencodeするのを忘れんな!
0117nobodyさん2008/08/19(火) 17:42:25ID:???
>>114
----index.cgi-----------
#!/usr/local/bin/php
Content-type:text/plain

<?php phpinfo();
------------------------
こういう状況です
phpは5.2.6でコンパイルオプションに--enable-force-cgi-redirectをつけてみたりしましたが、headerではなくContent-typeをそのまま書かないと動きません。
0118nobodyさん2008/08/19(火) 17:53:10ID:???
>>117
--enable-force-cgi-redirectはモジュール版からCGI版へのリダイレクトだから関係ないっと

普通は一行目の宣言でphpにスクリプトが渡されるからphpで処理されるよな
Content-typeはブラウザへの宣言だからぶっちゃけPHPとは関係がなかったりする

さぁどこに原因があるか分かるやつカモン!
0119nobodyさん2008/08/19(火) 17:55:02ID:???
この情報だけじゃ何もわからんですよ。
headerつかうとどうなるの?
0120nobodyさん2008/08/19(火) 17:57:56ID:???
そもそも「動きません」ってどうなる?
ブラウザには何もソースが送られてないとかか?それともエラーになってるのか?
0121nobodyさん2008/08/19(火) 18:06:16ID:???
#!/usr/local/bin/php
<?php
header('Content-type:text/html');

これでヘッダが出力されてないのでInternal Server Errorになります
0122nobodyさん2008/08/19(火) 18:12:46ID:???
>>121
「\n\n」はどうした「Content-type: text/html\n\n」が正しいんじゃないのか?
0123nobodyさん2008/08/19(火) 20:14:18ID:PaGmE6kQ
wikiのようなシステムの製作をしています。

「私は韓国人だよ。」という文字列と「私は日本人だよ」という文字列を比較して、
その差分(上記でしたら「日本」という文字)を表示させる処理を行いたいですか、
そのやり方に苦戦しています。

「文字列から文字列を引き算すれば〜」「forの入れ子で一文字ずつ比較して〜」等
いろいろと考えてみたのですが、どれも上手くできません。

何かアドバイスをいただけますでしょうか・・・・
0124nobodyさん2008/08/19(火) 20:25:37ID:???
wikiのソース見れ
0125nobodyさん2008/08/19(火) 20:29:29ID:/yAc2/hi
linuxのcutコマンドのような事をするにはどうしたらよいでしょうか
何か便利な標準関数はありませんか
0126nobodyさん2008/08/19(火) 20:41:42ID:???
substr
0127nobodyさん2008/08/19(火) 21:03:23ID:???
>>123
今のところwikiも行単位の差分だもんなぁ
文字列比較になると文字数の違いをどう吸収するかが悩みどころだろう
諦めて行単位のdiffがいいと思うぜ?

俺だとarray_diffとarray_intersectを使って文字自体の違いと共通を出してそこをヒントにフレーズを導く、
とか考えるが難しいことには変わりない
0128nobodyさん2008/08/19(火) 21:21:13ID:6/c1nOwy
while($col = mysql_fetch_array($rst)) {
//各レコード内容を表示する表を組み立てます
$body .= "<TR>
<TD>
<INPUT type='text' name='categname[]' value=\"$col[categoryname]\" size='70'>
<INPUT type='submit' name='btnedit$cnt' value='更新'>
<INPUT type='submit' name='btndel$cnt' value='削除'>
<INPUT type='hidden' name='categid[]' value='$col[categoryid]'>
</TD>
</TR>";
$cnt++;
}

というプログラムで、データを渡したいんですけど、

$categname[]=$_POST['categname'];
$btnedit=$_POST['btnedit$cnt'];
$btndel=$_POST['btndel$cnt'];
$categid[]=$_POST['categid'];

foreach($_POST['categname'] as $value){
$categname[]=$value;
}print_r($categname."<br>");

foreach($_POST['categid'] as $value){
$categid[]=$value;
}

でデータを受け取っています。でも、更新ボタンや削除ボタンが複数ある時に、nameが一緒なのでどのように判別すればいいかがわかりません。どのようにすればいいでしょうか?
0129nobodyさん2008/08/19(火) 21:27:32ID:???
>>127
ありがとうございます。
とても参考になります。
0130nobodyさん2008/08/19(火) 21:29:54ID:???
>>128
通常1formにsubmitは1つ
0131nobodyさん2008/08/19(火) 21:32:25ID:6/c1nOwy
>>130
やはりこのやり方ではできないんでしょうか?
0132nobodyさん2008/08/19(火) 21:51:08ID:???
$btnedit=$_POST['btnedit$cnt'];
$btndel=$_POST['btndel$cnt'];

ここをループさせて更新とか削除という値が入ってる$cntを探せばいいんじゃないのだろうか?

>通常1formにsubmitは1つ

んなこたーない。
nameは統一してvalueで区別するとラジオボタンと同じ感覚で使える。
とはいえvalueってのがそのままボタンのラベルになるからどうも使いづらいんだよな。
0133nobodyさん2008/08/19(火) 22:06:49ID:???
わかるわかる
せめてbuttonタグが思い通りに動いてくれればいいのにな
下みたいなヤツ
<button type="submit" name="action" value="regist">登録</button>

inputタグでやるとマルチバイトでswitchやifするのが気持ち悪いんだよなぁ
0134nobodyさん2008/08/19(火) 22:11:30ID:6/c1nOwy
>132

このようにしてみたんですが、ダメでした。

for($cnt = 0; $cnt < $reccnt; $cnt++) {
if(isset($_POST['btnedit$cnt'])){
$btname=$btndedit.$cnt;
break;
}
}

更新が入っている$cntを見つけたら$btnnameにbtnedit$cntという値を保存したいんです。どうすればいいかわかるでしょうか?
0135nobodyさん2008/08/19(火) 22:18:21ID:???
>>134
----------------
categname[]
categid[]
----------------

----------------
categname[$cnt]
categid[$cnt]
----------------
にしたらいいんじゃないか?
btnedit$cntの$cnt部分から目的のデータを正確に取れる
0136nobodyさん2008/08/19(火) 22:22:52ID:6/c1nOwy
そこはもう何とかデータが取れたので大丈夫なんですが、どのボタンが押されたかを判断するのができないんです。これができないと削除するとき全部削除することになってしまうんで…
0137nobodyさん2008/08/19(火) 22:57:55ID:6/c1nOwy
>>128ですけど、
ボタンを押しても送られてくる$cntは最後の値しか入ってないんですが、そこはどうにかならないですかね?
0138nobodyさん2008/08/19(火) 23:21:48ID:???
とりあえずvar_dump($_POST)でどんな値が来てるか調べてみたらどうだろう
0139nobodyさん2008/08/19(火) 23:25:02ID:/yAc2/hi
splitして配列の特定の部分だけ取得すればできますね。
forをぶんぶん回すのがいやだなーと思ったのですが、仕方ないですね。

失礼しました
0140nobodyさん2008/08/19(火) 23:36:15ID:6/c1nOwy
>>138
var_dump($_POST)してみたんですけど、結果は

["btnedit1"]=> string(4) "更新"

となりました。この結果のbtnedit1だけ取り出せないですかね?valueは更新なので、そっちだけなら受け取れるのですが。

>>139
具体的にどのように使えばいいんでしょうか?今調べてみたんですが、どのように、どこで使えばいいのかよくわからなくて・・・
0141nobodyさん2008/08/19(火) 23:55:15ID:???
だから$_POST["btnedit$cnt"]=="更新"のとき$cnt=1だろ?
0142nobodyさん2008/08/19(火) 23:58:20ID:6/c1nOwy
>>141
それはどのボタンを押すかによって変わるんじゃないんですか?例えば3番目のボタンを押したら$cnt=3になってほしいんですが
0143nobodyさん2008/08/20(水) 00:35:06ID:MvAneMVr
>>140ですが、わかる方いませんか?結構困ってます(泣)
0144nobodyさん2008/08/20(水) 00:37:56ID:???
while($col = mysql_fetch_array($rst)) {
$body .= "<TR>
<TD>
<form>
<INPUT type='text' name='categname[]' value=\"$col[categoryname]\" size='70'>
<INPUT type='submit' name='btnedit$cnt' value='更新'>
<INPUT type='submit' name='btndel$cnt' value='削除'>
<INPUT type='hidden' name='categid[]' value='$col[categoryid]'>
</TD>
</form>
</TR>";
$cnt++;
0145nobodyさん2008/08/20(水) 00:39:15ID:???
action="うんたら" method="post" 入れ忘れた
0146nobodyさん2008/08/20(水) 00:44:06ID:MvAneMVr
>>144>>145
それは>>128で書いたんですが、nameの値が同じなので、複数ボタンがある時に、どれが押されたかの判定をしたいんです。
そこでvar_dump($_POST)してみると["btnedit1"]=> string(4) "更新" という値が渡せていたので、これのbtnedit1だけ取り出せないかなと思って・・・
0147nobodyさん2008/08/20(水) 00:45:46ID:???
if (isset($_POST['btnedit1')) {
 $mode = 'edit';
}
0148nobodyさん2008/08/20(水) 00:47:09ID:MvAneMVr
>>147
ボタン1を押したときはbtnedit1になるんですが、ボタンがいくつもあるので、$cntにするとうまくいかないんです
0149nobodyさん2008/08/20(水) 00:55:24ID:MvAneMVr
やっぱり無理なんですかね・・・
0150nobodyさん2008/08/20(水) 01:08:50ID:???
何を言ってるのか分からん。
他人にも分かるように説明してくれ。

<form>
<input type="text" name="textbox" value="<?php echo $text; ?>">
<input type="submit" name="edit" value="更新">
<input type="submit" name="del" value="削除">
<input type="hidden" name="id" value="<?php echo $id; ?>">
</form>

でいいだろ。
駄目なら何が駄目なのか簡潔に。
俺ならsubmit2つは使わないけど。

0151nobodyさん2008/08/20(水) 01:10:22ID:???

<INPUT type='submit' name='btnedit$cnt' value='更新'>
<INPUT type='submit' name='btndel$cnt' value='削除'>

なんだから3番目の更新ボタンはbtnedit3になると思ったんだが・・・
俺たちはとんでもない思い違いをしているのか?
0152nobodyさん2008/08/20(水) 01:17:47ID:MvAneMVr
そこをwhileでループさせているので、更新ボタンと削除ボタンがそれぞれ複数個できるんです。
そこでnameを'btnedit$cnt'にして$cntの部分で変えているのですが、それをどうやって受け取るかがわからないんです。
受け取るのはvalueの値(更新)ですよね?でも判別するときはnameがいるので、そこを何とかできないかなと
0153nobodyさん2008/08/20(水) 01:35:02ID:???
>>152
だから>>150の方法でやりゃいいだろって
0154nobodyさん2008/08/20(水) 01:36:54ID:???
末尾に番号付けてても、送られてきたidをキーの末尾にくっつければ取得できるが、気持ち悪いから俺はやらん
0155nobodyさん2008/08/20(水) 01:37:51ID:MvAneMVr
<input type="hidden" name="id" value="<?php echo $id; ?>">
これはどういったことをしているのでしょうか?
もともと<?php ?>でつくっているのですが、2重に囲んでもいいんでしょうか?
0156nobodyさん2008/08/20(水) 01:40:16ID:???
その辺は本質でないので気にしなくていいです。変数展開はお好きなように。
0157nobodyさん2008/08/20(水) 01:49:51ID:MvAneMVr
<input type="hidden" name="id" value="<?php echo $id; ?>"> を追加して
$id=$_POST['id'];で受け取ってみましたが、echoしてみると;?>が表示されて、更新ボタンを押すたびに増えていくんですが、これはどういうことでしょう?
0158nobodyさん2008/08/20(水) 01:58:48ID:4SgzBP1u
そりゃふえるでしょう。
基礎からやりなおせ。
0159nobodyさん2008/08/20(水) 02:00:28ID:MvAneMVr
時間がないんです、教えてください。ほんとにお願いします。
0160nobodyさん2008/08/20(水) 02:12:04ID:???
value="<?php echo $id; ?>">
0161nobodyさん2008/08/20(水) 02:13:47ID:???
つーかvalueのところに書くというのがよくわからないんだけど。
ここにかかないとだめなん?
0162nobodyさん2008/08/20(水) 02:16:27ID:MvAneMVr
valueじゃなかったらどこに書くんですか?

すいません、ほんと初心者なんでわからないことだらけで・・・
0163nobodyさん2008/08/20(水) 02:31:59ID:???
時間が無いって何?単位でもかかってんの?
0164nobodyさん2008/08/20(水) 02:34:31ID:MvAneMVr
それに近い形です。だから今日も多分徹夜でやります(泣)
0165nobodyさん2008/08/20(水) 02:52:46ID:???
もう分かりやすくするためにボタンを
[ID1を削除]
とかってvalueにすれんばいいんじゃねw
0166nobodyさん2008/08/20(水) 02:54:14ID:MvAneMVr
どういうことですか?
0167nobodyさん2008/08/20(水) 02:56:21ID:???
何が問題か分からないなら基本からやり直すしかない
0168nobodyさん2008/08/20(水) 02:56:50ID:MvAneMVr
でもホントに時間がないんです・・・
0169nobodyさん2008/08/20(水) 03:01:09ID:???
釣りじゃないなら
>>153を試すなり対応しろ
0170nobodyさん2008/08/20(水) 03:01:48ID:MvAneMVr
試してみたけどダメでした
0171nobodyさん2008/08/20(水) 03:03:39ID:???
じゃ、終了だな
何故駄目だったのか追求しないなら諦めろ
0172nobodyさん2008/08/20(水) 03:07:03ID:???
今まで怠けてたツケだw
0173nobodyさん2008/08/20(水) 03:18:09ID:???
無理な仕事を引き受けるからだよ
0174nobodyさん2008/08/20(水) 04:12:49ID:PkKH7Tnj
MySQLのスレできいたのですが、ダメでしたので、
こちらでもお聞きすることにしました。
MySQLのスレには、お礼を申し上げて閉じました。

重複するデータが多数登録されているテーブルがあるのですが、
それを一発で直す関数はないでしょうか?
データ件数が多いため、CREATE, INSERT IGNORE INTO SELECT 〜以外の方法で
できれば嬉しいのですが。

宜しくお願いします。
0175nobodyさん2008/08/20(水) 04:19:38ID:PkKH7Tnj
すみません。わかりにいか誤解を与えてしまってレスがつかないようなので、
一発で直す関数というのは、具体的には配列関数でいうarray_uniqueのような関数です。

宜しくお願いします。
0176nobodyさん2008/08/20(水) 04:22:29ID:???
>>174
あるわけない
>データ件数が多いため、CREATE, INSERT IGNORE INTO SELECT 〜以外の方法で
謎なこといってるがSQL使わずにどうやってデータを取り出すというのだ?

だいたいデータが重複するとか設計に問題があるんだろ
今のまま放置したらまたいずれ同じことの繰り返しになるだけ
phpMyAdminなんかでデータをdumpして
dumpファイルのテーブル部分を設計しなおして再登録したほうがいい
そうすれば登録の時点で重複されるデータは登録されないだろ
0177nobodyさん2008/08/20(水) 04:33:56ID:???
>>176
アドバイスありがとうございました。
> 謎なこといってるがSQL使わずにどうやってデータを取り出すというのだ?
すみません、誤解を招く表現で。
いいたかったのは、データ件数が7300万件以上ありまして、
UNIQUEキーを設定した仮テーブルを作ってコピーすると、
時間が掛かってしまうため、ミドルウェア層に位置する
SQLの範疇では手に負えないというのが以前の結論でした。

なので、アプリケーション層に位置する高級言語でなんとか処理できないと
考えたのですが、やはりそこでも無理そうでしょうか。
phpで無理でしたら、JavaとかC++のスレでも聞こうと思っています。
0178nobodyさん2008/08/20(水) 04:36:44ID:PkKH7Tnj
すみません、age忘れていました。
0179nobodyさん2008/08/20(水) 04:42:02ID:???
全件ループして判定すればいいんじゃないのか
0180nobodyさん2008/08/20(水) 04:45:21ID:???
PHPは大規模な処理には向いていない言語なので
7300万件もあるなら他の言語のほうが処理速度はあがると思うよ
C++が使えるならそうしたほうがいいかも
0181nobodyさん2008/08/20(水) 07:43:47ID:???
>PHPは大規模な処理には向いていない言語なので
これは釣り?それとも本気?
本気でいっているならメモリーキャッシュとか使えば、
Java並みの実行速度にはなる。
■ このスレッドは過去ログ倉庫に格納されています