和我在一起,因为这在我脑海中解释起来真的很复杂。
这是我的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'的所有行信息?
我需要每个“名称”搜索结果的链接。我知道它涉及将变量从一个页面转移到另一个页面,但我不知道如何为所有搜索结果执行此操作。
答案 0 :(得分:1)
您需要创建网址:
<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
。