0

ご覧のとおり、私はphpが初めてです:)

検索クエリの結果をページへのリンクとして表示するにはどうすればよいですか。データベースのページ テーブルに「リンク」列を追加する必要がありますか? 次に、それらをsearch_outputしますか?

    <?php

error_reporting(E_ALL);
ini_set('display_errors', '1');

$search_output = "";
if(isset($_POST['searchquery']) && $_POST['searchquery'] != ""){
    $searchquery = preg_replace('#[^a-z 0-9?!]#i', '', $_POST['searchquery']);
    {
        $sqlCommand = "(SELECT id, page_title AS title FROM pages WHERE MATCH (page_title,page_body) AGAINST ('$searchquery'))";

    }
    include_once("db_connects.php");
    $query = mysql_query($sqlCommand) or die(mysql_error());
    $count = mysql_num_rows($query);
    if($count > 1){
        $search_output .= "<hr />$count results for <strong>$searchquery</strong><hr />$sqlCommand<hr />";
        while($row = mysql_fetch_array($query)){

            $id = $row["id"];
            $title = $row["title"];


            $search_output .= "";
        } // close while
    } else {
        $search_output = "<hr />0 results for <strong>$searchquery</strong><hr />$sqlCommand";
    }
}
?>
<html>
<head>
</head>
<body>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Search For: 
  <input name="searchquery" type="text" size="44" maxlength="88"> 


</select>
<input name="myBtn" type="submit">
<br />
</form>
<div>
<?php echo $search_output; ?>
</div>
</body>
</html>
4

1 に答える 1

0

クエリ フェッチからのすべての出力を $search_output 文字列に追加する必要があります。

 while($row = mysql_fetch_array($query)){

        $id = $row["id"];
        $title = $row["title"];
        $search_output .= "<a href='".$_SERVER['SERVER_NAME']."/".$title."'>".$title."</a><br>";
        }

ただし、リンクの外観にも依存します。上記のように単純ではないか、外部にリンクしている可能性があります。その場合、はい、リンクをハード入力する追加のフィールドが役立つ場合があります。

次の質問に答える新しい編集...

  while($row = mysql_fetch_array($query)){

        $id = $row["id"];
        $title = $row["title"];
        $link = $row["links"];
        $search_output .= "<a href='".$link."'>".$title."</a><br>";
        }
于 2013-04-04T01:58:15.497 に答える