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']またはに切り替える必要があります。$_REQUEST['term']$_POST

于 2013-01-14T01:13:27.660 に答える