
No.5ベストアンサー
- 回答日時:
あまりいい方法ではないんですが、他にパッと思いつかないんで、
foreach $hairethu (@hairethu[($start ... $end)])
{($namae,$jusyo,$denwa,$nenrei,) = split(/,/,$line);
とするのでなく
$i=0;
foreach $hairethu (@hairethu){
<処理>
if(<検索キー>){
<処理>
$i++;
if($i<$start){next;}
elsif($i>$end){last;}
else{
print <表示>;
}
}
}
のような感じにするか(<処理>などは、その他必要な処理を入れてください。)、あらかじめ@hairethuに検索結果のデータを入れておくか(つまり2回ループさせる)だと思います。
どちらにしても、データ数が多くなった場合、結構負荷がかかります。総登録数250~300なら、そんなに問題にならないと思いますが。
No.4
- 回答日時:
@hairethuの1番目の要素
つまり$hairethu[0]が1番目のデータになっていますか?
$hairethu[0]に何も入っていなくて、$hairethu[1]が一番目の要素になっている場合は、
$start = $form{"page"} * ($view) + 1;
$end = $start + $view;
です。
この回答への補足
上手くできました!!
ありがとうございます
それと後ひとつ問題があります…
先ほどの1というサイトと2というサイトと.....15というサイトがあったとします
ということが前提の話なのですが
15サイト中10件ヒットするキーワードで検索した場合
最初のページに7件しか表示されないんです
原因は1ページ目の検索対象が@hairetuの[0]~[9]までで次のページが@hairetuの[10]~[14]だからなのですが
何かいい方法は無いのでしょうか?
No.3
- 回答日時:
#2です。
$start = $form{"page"} * ($view);
$end = $start + $view;
ここに問題がありますね。
これだと、1ページ目は、
$start=0
$end=10
2ページ目は、
$start=10
$end=20
となります。
$end = $start + $view - 1;
とすることで解決できると思います。
No.2
- 回答日時:
DBはMySQL,PostgreSQLまたは、その他?
うまくいかないのはSQLの処理でしょうか?
Perlの処理でしょうか?
分けない場合の処理はうまく出来ているのでしょうか?
ページの移動処理はうまく出来ているのでしょうか?
もう質問内容を少し詳しくお願いします。
ソースを抜粋して載せてもらうとわかりやすいかもしれません。
この回答への補足
$view=10;
$start = $form{"page"} * ($view);
$end = $start + $view;
foreach $hairethu (@hairethu[($start ... $end)])
{($namae,$jusyo,$denwa,$nenrei,) = split(/,/,$line);
こんな感じです
No.1
- 回答日時:
何がうまくいきませんか?
具体的なことでないと回答がしづらいので、
質問を整理してみてはいかがでしょうか。
この回答への補足
えっとですね、良く検索エンジンで次の10件とかってありますよね?
それをしたいんです。自分なりに試しているのですが…
例えば1というサイトと2というサイトと3というサイトと.....15というサイトがあったとします
それらに共通するキーワードで検索すると全てヒットして、1~10が表示されます
ですが次のページになると10~15が表示されてしまいます
つまり10が二回出てしまいます
forをつかって作りたいのですが本当にプログラミングを始めたばかりなので簡単な構成で作りたいです
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「Cancel = True」とはどういう...
-
VBAでIEの「Web ページからのメ...
-
別フォームから戻ったときのイ...
-
エクセル アプリケーションの...
-
デジタル時計の時刻合わせの方...
-
エクセルのシート上に別のシー...
-
Javascript_submit()完了後に処...
-
Excelでワードアートや図を常に...
-
PDFを(htmlのように)無限に縦...
-
ウインドウを毎回同じ位置、大...
-
Outlookでこのような表示がされ...
-
VBAのユーザーフォームのframe...
-
ウィンドウの2重起動を防止したい
-
[Java] Edgeでのアドレスバー非...
-
スクリプトって、何ですか?ど...
-
一定時間おきにアラームやポッ...
-
アコーディオンで開かれたパネ...
-
マイページはどこを開くの
-
MFCでのスクロールバーの扱い
-
TikTokLiteの自動スクロールの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別フォームから戻ったときのイ...
-
「Cancel = True」とはどういう...
-
VB2005 DataGridView上でクリッ...
-
エクセル アプリケーションの...
-
実行時引数からの日付取得
-
別ページからのタブ切り替えの...
-
数が一定でない複数の条件の指...
-
【C#】ラベルのダブルクリック...
-
プログラムについて
-
CGIの負荷計測
-
テータベースのページ処理
-
FlashとCGIで診断テストを作りたい
-
なぜメールサーバは子プロセス(...
-
excelのタスクバーアイコンが・...
-
Perlで数値(小数点、負の数、...
-
Perlプログラムについてファイ...
-
実行中のOSを知るには?
-
perlを使いxmlの処理
-
排他制御のためのロックについて
-
Sleep関数の最大時間について
おすすめ情報