0

这是我返回表单搜索结果的 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 行。

那么我怎样才能做到这一点,以便您单击结果“名称”,它将带您进入一个包含该“名称”的所有行信息的新页面?

我需要每个“名称”搜索结果的链接。我知道这涉及将变量从一页转移到另一页,但我不知道如何为所有搜索结果执行此操作。

4

1 回答 1

1

您需要创建 URL:

 <a href="page.php?term=<?php echo urlencode($row['name']) ?>"><?php echo $row['name'] ?></a> should do it, given the code you specified. 

这是为您的页面设置 GETterm参数。您必须切换$_POST['term']$_GET['term']or $_REQUEST['term'],因为如果$_POST没有表单,您将无法轻松填充。

于 2013-01-14T01:13:27.660 回答