[PHP-users 24174] ENTER キーとクリックの違い

喜多 慧 pccweb21 @ yahoo.co.jp
2005年 1月 20日 (木) 00:49:35 JST


はじめまして。この度MLに参加させて頂きました。
初心者の者なのですが、これからどうぞよろしくお願いします。

PHPをやってみたくて、去年の年末より挑戦しているのですが、一つ問題に
ぶつかりました。まず、9つほど項目のあるアンケートの集計をMySQLに入れて
おりまして、そこから検索して表示できるようなものを作ってみました。
実際に動かしてみたところ、「検索」ボタンをマウスで直接クリックすれば
動くのですが、テキストボックスにフォーカスがある時にENTERキーを押すと
真っ白の結果が返ってきてしまいます(該当無しの状態)。ボタンが二つある
のが原因かと思って一つ消してみたり、POSTをGETに変えてみたりしたのですが、
結果はどれもかわりませんでした。もし何かご存知の方がおられましたら、
どうかご指南下さい。よろしくお願いします。

環境は WindowsXP に Apache と PHP 4.3 とMySQLをインストールしてあります。
以下、スクリプトです。

//index.php
<body>
<form name="form" method="post" action="index.php">
<div align="center">
<p>
<select name="select">
<option value="no">No</option>
<option value="name" selected>名前</option>
<option value="club">団体規模</option>
<option value="post">役職</option>
<option value="mail">受信数</option>
<option value="first">最多メール種類</option>
<option value="second">二番目メール種類</option>
<option value="service">現在利用しているサービス</option>
<option value="about">利用用途・不満など</option>
</select>を対象に、
<input name="text" type="text" id="text">
で
<input type="submit" name="submit" value="検索!">
<input type="submit" name="all" value="全データ一覧">
  <br>
<a href="../index.htm">トップページに戻る</a> </p>
</div>
</form>
<?
$con = mysql_connect("localhost","root","password");
$selectdb = mysql_select_db("phpmyadmin",$con);

if(isset($_POST["all"])) {
$sql = "select * from keitai";
$result = mysql_query($sql,$con);
$row = mysql_num_rows($result);}

if(isset($_POST["submit"])) {
$word = $_POST["text"];
$select = $_POST["select"];
$sql = "select * from keitai where $select like '%$word%'";
$result = mysql_query($sql,$con);
$row = mysql_num_rows($result);}

$count = 0;
for($i=0;$i<$row;$i++) {
$no[$count] = mysql_result($result,$i,0);
$name[$count] = mysql_result($result,$i,1);
$club[$count] = mysql_result($result,$i,2);
$post[$count] = mysql_result($result,$i,3);
$mail[$count] = mysql_result($result,$i,4);
$first[$count] = mysql_result($result,$i,5);
$second[$count] = mysql_result($result,$i,6);
$service[$count] = mysql_result($result,$i,7);
$about[$count] = mysql_result($result,$i,8);
$count++; }
?>
<table width="893" border="1" align="center" cellpadding="0" cellspacing="0">
<tr bgcolor="#333333">
<th width="24" nowrap scope="col"><div align="left" class="style1">No</div></th>
<th width="61" nowrap scope="col"><div align="left" class="style1">名前</div></th>
<th width="64" nowrap scope="col"><div align="left" class="style1">団体規模</div></th>
<th width="36" nowrap scope="col"><div align="left" class="style1">役職</div></th>
<th width="50" nowrap scope="col"><div align="left" class="style1">受信数</div></th>
<th width="110" nowrap scope="col"><div align="left" class="style1">最多メール種類</div></th>
<th width="110" nowrap scope="col"><div align="left" class="style1">二番目メール種類</div></th>
<th width="219" nowrap scope="col"><div align="left"
class="style1">現在利用しているサービス</div></th>
<th width="219" nowrap scope="col"><div align="left" class="style1">利用用途・不満など</div></th>
</tr>
<?
for($i=0;$i<$row;$i++) {
echo "
<tr>
<td>$no[$i]</td>
<td>$name[$i]</td>
<td>$club[$i]</td>
<td>$post[$i]</td>
<td>$mail[$i]</td>
<td>$first[$i]</td>
<td>$second[$i]</td>
<td>$service[$i]</td>
<td>$about[$i]</td>
</tr>"; }
?>
</table>
</body>



PHP-users メーリングリストの案内