这是我的数据库:database
这是两行 rows
当我尝试在“banca”行中查找“CEC”时,一切正常(使用 CEC banca 显示我的行)。如果我尝试在“banca”行中查找“cec”或“Cec”或“ceC”,则没有结果,我不知道为什么! 如果我提交确切的“文本”,但我不希望这样,我的搜索就会起作用。
这是 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>
请帮忙! 谢谢!
最佳答案
像这样更新您的选择:
$query = "SELECT * FROM fachitate WHERE LOWER(CONCAT(ID, data, furnizor, suma, banca, Firma, observatii)) LIKE '%".strtolower($valueToSearch)."%'";
如果您将搜索键和搜索词转换为小写,则大小写变得不敏感;)
关于php - 不区分大小写但敏感,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40246213/