CSV ファイルのコンテンツを読み取り、選択した列をページ内のユーザーに表示する単純な PHP ページを作成しています 。現在、各行を読み取ってすぐに表示しています。この方法のため、ファイル全体の読み取りが終了した後(ファイル内の検索も)、行の合計しかわかりません。私が欲しいのは、リストの上部と下部に 2 つのページ ナビゲーションを表示することです。このような:
ページ 1|2|3|4
フィールド 1|フィールド 2|フィールド 3|フィールド 4|フィールド 5....|フィールド n
行1
行 2
....
ロウン
ページ 1|2|3|4
すべての行、一番下のページ ナビを表示した後、jquery 関数: insertBefore を使用して、別のページ ナビを一番上に挿入しました。
問題は次のとおりです。
1) トップページのナビがIE8では表示されず、F5を押すと表示される(FF、Chromeでは動作)。
2) insertBefore 関数を使用すると、一番下のページを表示した後、トップページのナビゲーションが突然ポップアップします。自然に見えない
なにか提案を?
ソースコード:
簡単にするために、これら 2 つの単純なソース ファイルを書き直します。
-FileList.php: すべての csv ファイルを一覧
表示します -DisplayInList.php: CSV ファイルの内容を表示します
ところで:FileList.phpのjqueryコードを変更することで、すでに問題を解決しました
FileList.php
<?php
echo "<script type=\"text/javascript\">\n";
echo "$(document).ready(function(){\n";
echo "$('a[name=dlink]').click(function(e) {\n";
echo " e.preventDefault();\n";
echo " var href = $(this).attr('href');\n";
echo " $.post('DisplayInList.php',{href:href}, function(response)\n";
echo " list_window = window.open()\n";
echo " list_window.document.write(response);\n";
echo " list_window.focus();\n";
echo " list_window.document.close();\n";
echo " });\n";
echo " });\n";
echo "});\n";
echo "</script>\n";
//add CSV file link here
foreach($file_list as $f){
$display_name = "WHATEVER";
echo "<TR><TD><a name=\"dlink\" href=",pathinfo($f,PATHINFO_FILENAME),">",$disp_name,"</a></TD>\n";
}
?>
DisplayInList.php
<?php
echo "<div id=\"paging_tag\"></div>\n";
if (($handle = fopen($csv_file, "r")) !== FALSE){
$display_cnt = 0;
while (($line = fgetcsv($handle, 10000, ",")) !== FALSE){
$found = {Check search conditions};
if ( $found == true ){
$display_cnt++;
//Display line to client
echo "Selected fields of a csv line to user";
}
}
fclose($handle);
}
if ( $display_cnt > 0 ){
echo "<p id=\"paging\"><span>PREVIOUS</span> Page 1 | Page 2 | Page 3<span>NEXT</span></p>";
}
echo "<script type=\"text/javascript\">\n";
echo "$('#paging')\n";
echo " .insertBefore('#paging_tag');\n";
echo "</script>";
?>