2013-12-08 65 views
0

我想創建一個類的搜索框,我總是使用這個特定的代碼,沒有使用類。PHP - 搜索框不工作

但現在,即時學習如何使用類,我需要把我的舊代碼,以一個單獨的類,我想這個功能:

從代碼
function verGaleria() { 
    $sql = "SELECT * FROM `cds`"; 
    if(($rs=$this->bd->executarSQL($sql))){ 
     if(isset($_GET['buscar'])){ 
     $sql = mysql_query("SELECT * FROM `cds` where name like '%".$_GET['buscar']."%'"); 
     } 

     while ($row = mysql_fetch_array($rs)) {     
       $imagem = $row['imagem']; 
       $ID = $row['ID']; 
       $artista = $row['artista']; 
       $preco = $row['preco']; 
       $titulo = $row['titulo']; 

     echo '  
       <style> 
       .teste{ 
       text-align:center; display: inline-block; width:300px; margin: 0 0 40px 30px; float:left; color:white; 
       } 
       </style> 
      <div class="teste"> 
        <h1>'.$titulo.'</h1> 
         <h2><img class="cd" src="CDs/'.$imagem.'" width="102" height="126" alt="'.$artista.'"/></h2> 
         <h3>'.$preco.'€</h3> 
      </div> 
      '; 
    } 
    } else { 
    return false; 
    } 
} 

我:

<form method="GET" name="buscar" > 
<label><a class="utilizador">Procurar</a> 
<br /> 
    <input type="text" name="buscar" id="prc" placeholder="Ex: Rock"/></label> 
    <input type="submit" class="submitprc" value="Pesquisar" /> 
</form> 
+1

問題是什麼?你是否故意離開form標籤的'action'屬性? –

+0

@LuckySoni,它不工作:) – Atle

+0

@Atle什麼不行?當你做什麼時會發生什麼?大聲笑 –

回答

1

您正在執行的初始SQL查詢$sql = "SELECT * FROM CDS ";其獲取所有的產品和存儲所有結果$rs像這樣$rs=$this->bd->executarSQL($sql)

然後你檢查是否存在搜索查詢isset($_GET['buscar']),如果它存在,那麼你形成你的新的sql語句$sql = mysql_query("SELECT * FROM cds where name like '%".$_GET['buscar']."%'");但你永遠不會執行它。

然後使用$rs顯示的結果..

while ($row = mysql_fetch_array($rs)) { 
    $imagem = $row['imagem']; 
    $ID = $row['ID']; 
    $artista = $row['artista']; 
    $preco = $row['preco']; 
    $titulo = $row['titulo']; 
//code 
} 

你應該做的是一樣的東西:

<?php 

isset($_GET['buscar']) ? 
    $sql = "SELECT * FROM `cds` where name like '%".$_GET['buscar']."%'" : 
    $sql = "SELECT * FROM `cds`"; 

$result = mysql_query("SELECT * FROM `cds` where name like '%".$_GET['buscar']."%'", $conn); // pass in your connection object 

if(! $result) 
{ 
    die('Could not get data: ' . mysql_error()); 
} 

while ($row = mysql_fetch_array($result)) { 
    $imagem = $row['imagem']; 
    $ID = $row['ID']; 
    $artista = $row['artista']; 
    $preco = $row['preco']; 
    $titulo = $row['titulo']; 

    //code 
}