如何将行查询结果用作链接,然后基于该结果创建新页面


how to use a row query result as a link and then make a new page based upon that result

这是我的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

相关文章: