簡単な質問です。簡単かもしれませんが、そうでないかもしれません。私は PHP、HTML、または MySQL に精通していませんが、試してみています。私が使用しているサンプル ページは次のとおりです: http://www.djdarby.com/sorter.php。アーティストと曲の 2 つのフィールドを含む 19600 のテーブルを表示しています。問題は、読み込みが非常に遅く、どこに指を向ければよいか分からないことです。クエリが単純すぎるか、一度にロードしすぎている可能性があります。ページ ソースで PHP が非表示になるため、コードは次のとおりです。このデータをすばやく出力する方法はありますか?
編集: javascript を使用してテーブルを作成していることを忘れていました。正確にはTinyTableです。
編集 NUMERO DOS: sorter2.php を作成しましたが、読み込みがずっと速いようです。これは JavaScript の問題ですか?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
$con = mysql_connect("xx.xx.xx.xx", "xxxx", "xxx");
// if (!$con) {
// die("Database connection failed: " . mysql_error());
// } else {
// echo "\r\nConnected to the database.";
// }
$db = mysql_select_db("djdarby", $con);
// if (!$db) {
// die("Database selection failed: " . mysql_error());
// } else {
// echo "\r\nSelected to the database.";
// }
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TinyTable</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<table cellpadding="0" cellspacing="0" border="0" id="table" class="sortable">
<thead>
<tr>
<th><h3>Artist</h3></th>
<th><h3>Song</h3></th>
</tr>
</thead>
<tbody>
<?php
$result = mysql_query("SELECT * from SONGLIST", $con);
//if (!$result) {
// die("Query failed: " . mysql_error());
//} else {
// echo "\r\nSelected the table SONGLIST in database djdarby.<br /><br />";
//}
while ($row = mysql_fetch_array($result)) {
echo "<tr><td>" . $row['ARTIST'] . "</td>" . "<td>" . $row['SONG'] . "</td></tr>";
}
?>
</tbody>
</table>
<div id="controls">
<div id="perpage">
<select onchange="sorter.size(this.value)">
<option value="5">5</option>
<option value="10" selected="selected">10</option>
<option value="20">20</option>
<option value="50">50</option>
<option value="100">100</option>
<option value="250">250</option>
</select>
<span>Entries Per Page</span>
</div>
<div id="navigation">
<img src="images/first.gif" width="16" height="16" alt="First Page" onclick="sorter.move(-1,true)" />
<img src="images/previous.gif" width="16" height="16" alt="First Page" onclick="sorter.move(-1)" />
<img src="images/next.gif" width="16" height="16" alt="First Page" onclick="sorter.move(1)" />
<img src="images/last.gif" width="16" height="16" alt="Last Page" onclick="sorter.move(1,true)" />
</div>
<div id="text">Displaying Page <span id="currentpage"></span> of <span id="pagelimit"></span></div>
</div>
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript">
var sorter = new TINY.table.sorter("sorter");
sorter.head = "head";
sorter.asc = "asc";
sorter.desc = "desc";
sorter.even = "evenrow";
sorter.odd = "oddrow";
sorter.evensel = "evenselected";
sorter.oddsel = "oddselected";
sorter.paginate = true;
sorter.currentid = "currentpage";
sorter.limitid = "pagelimit";
sorter.init("table",1);
</script>
</body>
</html>
<?php
mysql_close($con);
?>