这是我的PHP文件,返回表单搜索结果:
<table style="padding:3px;text-align:center;text-color:#817679;" width="825px">
<tr class="tborder">
<td width="150px" class="blockhead"><b>Level</b></td>
<td width="225px" class="blockhead"><b>Monster Name</b></td>
<td width="150px" class="blockhead"><b>Race</b></td>
<td width="150px" class="blockhead"><b>Ratio</b></td>
<td width="150px" class="blockhead"><b>HP</b></td>
</tr>
<tr>
<?php
mysql_connect ("localhost", "root","") or die (mysql_error());
mysql_select_db ("energized");
$term = $_POST['term'];
$sql = mysql_query("select * from bestiary where name like '%$term%'");
while ($row = mysql_fetch_array($sql)){
echo ' <tr class="tborder2">
<td width"150px">'. $row['name'] .'</td>
<td width"225px">'. $row['level'] .'</td>
<td width"150px">'. $row['race'] .'</td>
<td width"150px">'. $row['ratio'] .'</td>
<td width"150px">'. $row['HP'] .'</td>
</tr>
';
}
?>
</td>
</tr>
</tbody></table>
我在我的索引页上有一个表单,它显示了数据库行中的所有名称,其中包括搜索的字符,因此搜索'fi'将返回所有具有该顺序中的字符的名称。我的问题在于搜索结果。
<td width"150px">'. $row['name'] .'</td>
我希望上面的结果是一个html链接到一个新的页面,其中显示了该列中的所有行。目前,搜索查询仅为每个结果返回5行值。我显然不想为每个搜索结果显示数据库的15行。
那么我怎么才能让它,所以你点击结果'name',它会带你到一个包含所有行信息为'name'的新页面?
我需要每个'name'搜索结果的链接。我知道这涉及到将变量从一个页面转移到另一个页面,但我不知道如何为所有的搜索结果做到这一点。
您需要创建url:
<a href="page.php?term=<?php echo urlencode($row['name']) ?>"><?php echo $row['name'] ?></a> should do it, given the code you specified.
这是为您的页面设置GET term
参数。您必须将$_POST['term']
转换为$_GET['term']
或$_REQUEST['term']
,因为您无法在没有表单的情况下轻松填充$_POST
。