2012-07-09 3 views
0

테이블에 4 개의 열이 있습니다. "isbn, 저자, 제목, 가격". 4 개의 필드를 모두 결합하여 검색하고 싶습니다. 좋아요 : 저자 "kayle"이 동일한 가격 ($ 50)을 가지지 만 제목이 다른 4 권의 책을 검색 페이지에 쓰면 저자를 선택하면 kayle 및 검색이 모두 다르거 나 모든 책이 모두 동일하거나 동일 할 수도 있습니다 가격 및 제목. 이제 저는 kayle과 price : $ 50를 동시에 선택하고 Enter를 누르십시오. 이를 위해 kayle이 쓴 $ 50의 가격 책자 만 표시되며 4 행이있는 테이블에 나타납니다.여러 범주 및 조건으로 검색

나는 그것을 결합하려고 시도하지만 두 번째 단계는 질의를하는 두 번째 단계를 고수했다. 아무도 내가하고 싶은 것을 이해한다면 여기에 제 코드가 있습니다. 그것을 공유하십시오. 사전에

<form method="post" action="search_form.php"> 
<input type="hidden" name="submitted" value="true"/> 
<table border="1"> 
<tr> 
    <td style="padding:3px 10px; font-weight:bold;">ISBN</td> 
    <td style="padding:3px;"> 
    <input type="hidden" name="category_isbn" id="category_isbn" value="isbn"/> 
    : <select name='criteria_isbn' id="criteria_isbn" onchange="ajaxFunction()"> 
     <option selected="selected">- Select -</option> 
    <?php 
     $order = "SELECT isbn FROM books" or die (mysql_error()); 
     $result = mysql_query($order); 
     while($data = mysql_fetch_array($result)) 
     { 
     echo ("<option> $data[isbn] </option>"); 
     } 
    ?> 
    </select> 
    </td> 
    <td style="padding:3px 10px; font-weight:bold;">Author</td> 
    <td style="padding:3px;"> 
    <input type="hidden" name="category_author" id="category_author" value="author"/> 
    : <select name='criteria_author' id="criteria_author" onchange="ajaxFunction()"> 
     <option selected="selected">- Select -</option> 
    <?php 
     $order = "SELECT author FROM books" or die (mysql_error()); 
     $result = mysql_query($order); 
     while($data = mysql_fetch_array($result)) 
     { 
     echo ("<option> $data[author] </option>"); 
     } 
    ?> 
    </select> 
    </td> 
    <td style="padding:3px 10px; font-weight:bold;">Title</td> 
    <td style="padding:3px;"> 
    <input type="hidden" name="category_title" id="category_title" value="title"/> 
    : <select name='criteria_title' id="criteria_title" onchange="ajaxFunction()"> 
     <option selected="selected">- Select -</option> 
    <?php 
     $order = "SELECT title FROM books" or die (mysql_error()); 
     $result = mysql_query($order); 
     while($data = mysql_fetch_array($result)) 
     { 
     echo ("<option> $data[title] </option>"); 
     } 
    ?> 
    </select> 
    </td> 
    <td><input type="submit" /></td> 
</tr> 
</table> 
</form> 
<?php 
if(isset($_POST['submitted'])) 
{ 
    $category_isbn = $_POST['category_isbn']; 
    $criteria_isbn = $_POST['criteria_isbn']; 
    $query = "SELECT * FROM books WHERE $category_isbn LIKE '%".$criteria_isbn."%'"; 
    $result = mysql_query($query) or die(mysql_error()); 
    $num_rows = mysql_num_rows($result); 

    if(isset($_POST['criteria_isbn'])) 
    { 
     $category_author = $_POST['category_author']; 
     $criteria_author = $_POST['criteria_author']; 
     $query = "SELECT * FROM books WHERE $category_author LIKE '%".$criteria_author."%'"; 
     $result = mysql_query($query) or die(mysql_error()); 
     $num_rows = mysql_num_rows($result); 

     if(isset($_POST['criteria_author'])) 
     { 
      $category_title = $_POST['category_title']; 
      $criteria_title = $_POST['criteria_title']; 
      $query = "SELECT * FROM books WHERE $category_title LIKE '%".$criteria_title."%'"; 
      $result = mysql_query($query) or die(mysql_error()); 
      $num_rows = mysql_num_rows($result); 

      echo "$num_rows results found"; 
      echo "<table border= 1>"; 
      echo "<tr> <th>ISBN</th> <th>AUTHOR</th> <th>TITLE</th> <th>PRICE</th> </tr>"; 
       while($row = mysql_fetch_array($result)) 
       { 
        echo "<tr><td>"; 
        echo $row['isbn']; 
        echo "</td><td>"; 
        echo $row['author']; 
        echo "</td><td>"; 
        echo $row['title']; 
        echo "</td><td>"; 
        echo $row['price']; 
        echo "</td></tr>"; 
       } 
      echo "</table>"; 
     } 
    } 
} 
?> 

감사 : 여기 내 코드입니다.

답변

1

내가 같은 시간에 그들 모두를 작업 할 두 번째 검색

select * from table where author="kayle" and price="50"; 
+0

에 대한 첫 번째 검색

select* from table where author="kayle"; 

을 시도하지만, 여기에 마지막 쿼리는 검색을 가져다 결과. –

+0

당신의 코드에 어떤 문제가 있습니까 – Avinash

+0

당신의 의견에 대해 소중한 avinash 고맙습니다. 제 문제의 해결책을 얻었습니다. 좋은 하루 되세요. :) –

관련 문제