Будучи еще новичком на практике с Php и SQL, я спрашиваю вас, можно ли отфильтровать результаты по ключевым словам. На практике у меня есть таблица ценностей, в которой хранятся учебные курсы и учебные темы. Нажав на ключевые слова, такие как «наука», «программирование», «математика», я хотел бы выполнить запрос SQL результатов, отображая все содержимое, содержащее эти слова, в столбце «Название курса» и в « Столбец topi c 'курса.
primaryKey | Course name | Course topic
-----------+-------------+-------------------------------------------
1 | Math 1 | Algebra, equations
2 | Math 2 | Differential equations, integrals
3 | Physics | Physical Mechanics, thermodynamics
4 | Chemistry | Chemical equations, algebra, geometry
На данный момент я создал скрипт для извлечения информации из БД и поиска по ней
Что мне нужно сделать sh это создать «кнопки быстрого запроса» для поиска элементов в БД, например
+-----------+ +------------+
| algebra | | equations |
+-----------+ +------------+
в качестве предложений для запроса БД.
Заранее спасибо тем, кто мне поможет
ОБНОВЛЕНИЕ:
код сценария в индексе. php
<script>
$(document).ready(function(){
load_data();
function load_data(query)
{
$.ajax({
url:"fetch.php",
method:"post",
data:{query:query},
success:function(data)
{
$('#result').html(data);
}
});
}
$('#search_text').keyup(function(){
var search = $(this).val();
if(search != '')
{
load_data(search);
}
else
{
load_data();
}
});
});
</script>
fetch. php file
<?php
$connect = mysqli_connect("x", "x", "x", "dbName");
$output = '';
if(isset($_POST["query"]))
{
$search = mysqli_real_escape_string($connect, $_POST["query"]);
$query = "
SELECT * FROM dbName
WHERE CName LIKE '%".$search."%'
OR CTopic LIKE '%".$search."%'
";
}
else
{
$query = "
SELECT * FROM dbName ORDER BY CName";
}
$result = mysqli_query($connect, $query);
if(mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_array($result)):
$name = $row['CName'];
$topic = $row['CTopic'];
echo "<div class='content'>
<div>
<input type='checkbox' id='name' name='q' class='name'>
<label for='name' class='names'>
$name
</label>
<div class='topics'>
$topic
</div>
</div>
</div>";
endwhile;
}
}
else
{
echo 'Element not found';
}
?>