2013-12-08 2 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

으로 문제가 무엇인가? 폼 태그에서 의도적으로'action' 속성을 남겼습니까? –

+0

@ 럭키 소니, 작동하지 않습니다 :) – Atle

+0

@Atle 작동하지 않는 이유는 무엇입니까? 무엇을 할 때 어떻게됩니까? lol –

답변

1

하지만 지금은, 메신저 클래스를 사용하는 방법을 학습하고, 내가 하나의 클래스 내에서 예전의 코드를 전송해야합니다, 나는이 기능을 시도

당신은 너무 $rs=$this->bd->executarSQL($sql)

,691처럼 $rs의 모든 결과를 초기 SQL 쿼리 모든 제품을 가져 오는 $sql = "SELECT * FROM CD를 ";을 실행하고 저장하는

그런 다음 검색 쿼리가 존재하는지 확인하고 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 
} 
관련 문제