2015-05-06 3 views
0

Я в настоящее время Хавин вопрос со следующим кодом:Выберите заявление против переменного списка в SQL

<form action="" method="post"> 
    <input type="text" name="term" placeholder="Search Terms"/> 
    <select id=""drop"" name="drop""> 
     <option value="CODE">Code</option> 
     <option value="SCINAME">Scientific Name</option> 
     <option value="COLLECTOR">Holder</option> 
     <option value="DATA">Data</option> 
    </select> 
    <br/>     
    <button type="submit" class="button primary">Search</button> 
</form> 

<?php 
if (!empty($_REQUEST['term'])) { 
    $term = mysql_real_escape_string($_REQUEST['term']); 
    $drop = ($_REQUEST['drop']); 
    $sql = "SELECT * FROM ANIMAIS WHERE '%".$drop."%' LIKE '%".$term."%'"; 
    $r_query = mysql_query($sql); 

    while ($row = mysql_fetch_array($r_query)){ 
    echo '<br />code: ' .$row['CODE']; 
    echo '<br />Name: ' .$row['SCINAME']; 
    echo '<br /> Colector: '.$row['COLLECTOR']; 
    echo '<br /> Local: '.$row['LOCAL']; 
    echo '<br /> Data: '.$row['DATA']; 
    echo '<br /> Descr: '.$row['DESCRIPTION']; 
    echo '<br />'; 
    } 
} 
?> 

Проблема заключается в том, что код не «запустить» переменное падение $, но если я удалить выпадающий список из формы и измените следующую строку:

$sql = "SELECT * FROM ANIMAIS WHERE '%".$drop."%' LIKE '%".$term."%'"; 

к

$sql = "SELECT * FROM ANIMAIS WHERE SCINAME LIKE '%".$term."%'"; 

Это делает работу, но поиск в столбце SCINAME, то, что я не делаю, позволяет выпадающему списку выбрать столбцы SQL для запроса, но фактическое решение работает не так хорошо.

Заранее благодарим за помощь.

+0

Есть ли причина, по которой у вас есть четыре символа '' 'на вашем' select id'? – mattfryercom

+0

'