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

时间:2013-01-14 00:39:02

标签: php forms session search cookies

和我在一起,因为这在我脑海中解释起来真的很复杂。

这是我的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'的所有行信息?

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

1 个答案:

答案 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