2016-10-25 7 views
0

Это моя база данных: databaseбез учета регистра, но чувствительный

и это два ряда rows

Когда я пытаюсь найти «ЦИК» в строке «Banca», все работает отлично (показывать мои строки с ЦИК Banca) , Если я попытаюсь найти «cec» или «Cec» или «ceC» в строке «banca», никакого результата и я не знаю, ПОЧЕМУ !!! Мой поиск работает, если я отправляю точный «ТЕКСТ», и я этого не хочу.

Это код PHP:

$valueToSearch = $_POST['valueToSearch']; 
// search in all table columns 
// using concat mysql function 
$query = "SELECT * FROM fachitate WHERE CONCAT (ID, data, furnizor, suma, banca, firma, observatii) LIKE '%".$valueToSearch."%'" ; 
$search_result = filterTable($query); 

// function to connect and execute the query 

    function filterTable($query) 
    { 
     $connect = mysqli_connect("localhost", "root", "MYPASS", "facturi_db"); 
     $filter_Result = mysqli_query($connect, $query); 
     return $filter_Result; 
    } 


echo "<table> 
<tr> 
<th>ID</th> 
<th>Data</th> 
<th>Furnizor</th> 
<th>Suma</th> 
<th>Banca</th> 
<th>Firma</th> 
<th>Observatii</th> 
</tr>"; 
while($row = mysqli_fetch_array($search_result)) 
    { 
    echo "<td><font color='#000000'>" . $row['ID'] . "</td>"; 
    echo "<td><font color='#000000'>" . $row['data'] . "</td>"; 
    echo "<td><font color='#000000'>" . $row['furnizor'] . "</td>"; 
    echo "<td><font color='#000000'>" . $row['suma'] . "</td>"; 
    echo "<td><font color='#000000'>" . $row['banca'] . "</td>"; 
    echo "<td><font color='#000000'>" . $row['firma'] . "</td>"; 
    echo "<td><font color='#000000'>" . $row['observatii'] . "</td>"; 

    echo "</tr>"; 
    } 

И форма:

<form action="myfilter.php" method="post"> 
     <input type="text" name="valueToSearch" placeholder="Adauga nou filtru"> 
     <input type="submit" name="search" value="Filtreaza"><br><br> 
    </form> 

Пожалуйста, помогите! Спасибо!

+1

Посмотреть этот предыдущий пост: Http: // stackoverflow.com/questions/5938037/how-to-make-a-select-in-php-mysql-case-insensitive Надеюсь, что это поможет –

+1

Что такое сортировка на этой таблице/поле? Если это зависящая от регистра сортировка, тогда 'cEc! = CEC' –

+0

Следуя за комментарием @ MarcB - запустите запрос show show в вашей таблице и добавьте полный запрос создания к вопросу. – Dekel

ответ

0

Update ваш выбор, как это:

$query = "SELECT * FROM fachitate WHERE LOWER(CONCAT(ID, data, furnizor, suma, banca, firma, observatii)) LIKE '%".strtolower($valueToSearch)."%'" ;

Если преобразовать ключ поиска и условие поиска в нижний регистр, случай становится нечувствительным)

+0

Такая пустая трата ресурсов! – Dekel