2017-02-07 7 views
0

私は私のDB上のいくつかのIDの '名前'を取得するPHPスクリプトがあります。ユーザーが検索バーで検索を開始すると、インデックスページにこれらの「名前」が表示されます。 私はちょうど動作するように見えることができないhrefのリンクです。私は彼らの与えられたページへのハイパーリンク、表示される '名前'が欲しい。 例:検索バーでビートルズを検索します。「ビートルズ」が検索結果に表示されます。「ビートルズ」リンクをクリックすると、www.mywebsite.com/'beatles'.htmlに移動します私のPHPスクリプトでフェッチされた '名前'に基づいたthebealtes.html。私のPHPエコーへのリンクを追加

$host = "localhost"; 
$user = "root"; 
$password = ""; 
$db = "images"; 

$conn=mysqli_connect($host, $user, $password, $db); 

if(!empty($_GET['q'])){ 

    $q = $_GET['q']; 
    $query = "SELECT * FROM names WHERE names like '%$q%'"; 
    $result = mysqli_query($conn, $query); 
    while($row = mysqli_fetch_assoc($result)){ 

     $name = $row['names']; 

     echo '<a href=..........><div class="searchoutput">'.$name.'</a><br><div class="col-md-8"></div></div>'; 

    } 
} 

誰かが、私がhref = ........を置いた場所をわかりやすくするのに役立ちます。

+0

A-タグを閉じる前のdivを閉じる必要があり、引用符

  • を必要とします'名前'と呼ばれる列を含む '名前'と呼ばれるテーブル...? – CD001

  • +0

    はいそれは正しいです私はオンラインチュートリアルに従って、どのように設定されたthats。私がこれをすべて理解したら、適切な名前の適切なDBを作成します。 –

    +1

    良いSQLインジェクションの悪用。 –

    答えて

    0
    $link = str_replace(' ', '', strtolower($name)); 
    echo '<a href="'.$link.'html"><div class="searchoutput">'.$name.'</a><br><div class="col-md-8"></div></div>'; 
    
    +0

    あなたは私に心の痛みを救ってくれました。ありがとうございました。対処法のように働いています:) –

    1

    いくつかの良い回答がありますが、それらには見落とされたいくつかの間違いがあります。

    1. href属性を使用すると、A-タグ内のdivを開くと、あなたは

      あなたが持っている
      $host = "localhost"; 
      $user = "root"; 
      $password = ""; 
      $db = "images"; 
      
      $conn=mysqli_connect($host, $user, $password, $db); 
      
      if(!empty($_GET['q'])){ 
      
      $q = $_GET['q']; 
      $query = "SELECT * FROM names WHERE names like '%$q%'"; 
      $result = mysqli_query($conn, $query); 
      while($row = mysqli_fetch_assoc($result)){ 
      
          $name = $row['names']; 
          $href = str_replace(' ', '', strtolower($name)); 
      
          echo '<a href="'.$href.'.html"><div class="searchoutput">'.$name.'</div></a><br><div class="col-md-8"></div>'; 
      
          } 
      } 
      
    +0

    これを保存する正しい方法は、名前を持つ1つの列と "accessname"/hrefの1つの列であることは言うまでもありません。 URL(あなたを噛んで戻ってきます)。 「名前」列に「ビートルズ」と名前を付ける列が1つあり、「href」に「列」という列が1つある場合は、その両方を取り出してそれに応じて分散します。 – junkfoodjunkie

    +0

    私は、各バンドのhrefを別々の列に格納する方がより良い構造になり、特殊文字を使ってバンド名を簡単に処理できることに同意します。さらに進んでいくために、私は 'thebeatles.html'のような各バンドのhtmlページを作っていませんが、 'detail.php?band = thebeatles'のようなPHPページを作って各バンドのhtmlページ。 – Cashbee

    関連する問題