2012-09-18 67 views
0

我有這個頁面(代碼如下),其中包含一系列5個複選框,所有代表不同的值,我需要使用它們來查詢數據庫。使用PHP中的複選框值

<form id="form1" name="form1" method="post" align="center" action="section_search_results1.php"> 
     <p>Select The <b>Section</b> You Wish To Search In Below...  </p> 
     <p> 
     <label for="section"></label> 
     <label for="section2"></label> 
     <label> 
      <input type="checkbox" name="SectionSelect" value="Functional" id="SectionSelect_0" /> 
      Functional</label> 
     <label> 
      <input type="checkbox" name="SectionSelect" value="Technical" id="SectionSelect_1" /> 
     Technical</label> 
     <label> 
      <input type="checkbox" name="SectionSelect" value="Commercial" id="SectionSelect_2" /> 
     Commercial</label> 
     <label> 
      <input type="checkbox" name="SectionSelect" value="Implementation" id="SectionSelect_3" /> 
     Implementation</label> 
     <label> 
      <input type="checkbox" name="SectionSelect" value="Innovation" id="SectionSelect_4" /> 
     Innovation</label> 
     <br /> 
     </p> 
     <p>Enter the <b>Keyword(s) or Keyphrase</b> Below...</p> 
     <p> 
     <label for="kword"></label> 
     <input type="text" name="kword" id="kword" placeholder="Enter Keyword(s)" /> 
     <br /> 
     </p> 
     <p> 
     <input type="submit" name="submit" id="submit" value="Search" /> | | <input type="reset" name="clear" id="clear" value="Clear" /> 
     </p> 
    </form> 

正如你所看到的,每一個都有自己的值,這是用來查詢數據庫的術語。在結果頁上的PHP查詢代碼如下

<?php 
      $kword = $_POST["kword"]; 
      $section = $_POST["SectionSelect"]; 

      function boldText($text, $kword) { 
     return str_ireplace($kword, "<strong>$kword</strong>", $text); 
    } 


     // Connects to your Database 
    mysql_connect("localhost", "root") or die(mysql_error()); 
    mysql_select_db("test") or die(mysql_error()); 
    mysql_real_escape_string($kword); 
    $data = mysql_query("select company_name, section_name, question, answer from company, rfp, section, question_keywords 
    where company.company_id = rfp.company_id 
    and rfp.rfp_id = question_keywords.rfp_id 
    and question_keywords.section_id = section.section_id 
    and section_name like '%$section%' 
    and keywords like '%$kword%';") 
    or die(mysql_error()); 
?> 

最終我想這是什麼做的是與查詢潛在的查詢數據庫,其中有每個複選框值的條款嗎?例如,我想選擇X,其中y喜歡「技術」和y像「功能」等......

任何幫助將是巨大的

感謝

+0

請停止使用古代mysql_ *函數編寫新代碼。他們不再被維護,社區已經開始[棄用流程](http://news.php.net/php.internals/53799)。相反,您應該瞭解準備好的語句並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/mysqli)。如果你關心學習,[這裏是一個很好的PDO相關教程](http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers)。 – DCoder

+0

那麼你的問題是什麼?你能解釋一下嗎? – Gogol

回答

0

設置您的複選框的名稱作爲數組鍵將它們用作所有選定複選框值的數組:

<input type="checkbox" name="SectionSelect[0]" value="Functional" /> 
<input type="checkbox" name="SectionSelect[1]" value="Technical" /> 

echo $_POST['SectionSelect'][0]; // should print "Functional" 
echo $_POST['SectionSelect'][1]; // should print "Technical"