DBのデータを表示させたい
こんにちは
PHPは今まで他人様の作成したスクリプトをそのまま使用したりちょこっと改造するだけでしたが、
現在必要としているスクリプトが探してもなさそうなので
自分で作成しようと決めて勉強を始めましたが
どうしても悩んでいる部分があるのでご教授いただけると助かります。
環境は以下の通りです
apache 1.3.37
PHP 5.25
MySQL 5.0
現在の状況なのですが
`uid` mediumint(8) NOT NULL auto_increment,
`user` varchar(25) NOT NULL,
`pass` varchar(32) NOT NULL,
`place` varchar(32),
`sev` varchar(32),
`date` varchar(25) NOT NULL,
`regdate` datetime,
`gate` varchar(25),
`statue` varchar(25),
PRIMARY KEY (`uid`),
KEY `user` (`user`),
KEY `date` (`date`),
KEY `gate` (`gate`),
KEY `statue` (`statue`)
このようなテーブルが作成してありユーザーがフォームから登録したものをDBに保存していき、
1ページに数件分ずつの表示で何ページにもわたって
全件を表示するようなページをです。
フォームからDBへのデータの保存はできるようになりましたが
表示をする際に何件もの表示をするのにどういった手法で行うのがいいのかで悩んでいます。
現在は最新の1件だけ表示されるようなページになっています。
<?php
include ("config.php");
$con = mysql_connect($dbhost, $dbuser, $dbpasswd);
$selectdb = mysql_select_db($dbname, $con);
$sql = "SELECT * FROM testdata ORDER BY regdate DESC";
$rst = mysql_query($sql, $con);
$datanum = mysql_num_rows($rst);
if ($datanum < 1) {
print("データがありません。<br>\n");
print("登録は <a href=\"regist.php\">こちら</a> から");
mysql_close($con);
exit;
}
$data = mysql_fetch_array($rst)
?>
<table width="95%" border="0" cellspacing="1">
<tr>
<td><table width="100%" border="0">
<tr
<td colspan="6">登録情報</td>
</tr>
<tr>
<td width="13%">登録者名</td>
<td width="20%">
<?=$data['user']?>
</td>
<td width="13%">場所</td>
<td width="20%">
<?=$data['place']?>
</td>
<td width="13%">サーバー</td>
<td width="20%">
<?=$data['sev']?>
</td>
</tr>
<tr>
<td>登録日時</td>
<td>
<?=$data['regdate']?>
</td>
<td>日時</td>
<td>
<?=$data['date']?>
</td>
<td colspan="2"> </td>
</tr>
</table></td>
</tr>
<tr>
<td><table width="100%" border="0">
<tr>
<td colspan="5">状態</td>
</tr>
<tr>
<td width="16%">ゲート</td>
<td width="30%"><?=$data['gate']?></td>
<td> </td>
<td width="16%">statue</td>
<td width="30%"><?=$data['statue']?></td>
</tr>
</table></td>
</tr>
</table>
DBから何件分もの表示をするにはDBのデータを連想配列にするのかなと思っているのですが
いまいちどんな手法が良いのかわかりません。よろしければご教授くださいませ。
お礼
<meta>タグを利用したら解決しました。ありがとうございました。
補足
回答ありがとうございます。 検索画面のphpは検索クエリの有無で分岐させています。 現在「Warning: Cannot modify header information - headers already sent by (output started at /usr/local/apache2/htdocs/tomi-mwm/system/clsMySql.php:154) in ~~~」というようなエラーが出ています。