На самом деле, я пытаюсь создать форму поиска для личного сайта, на котором есть одна форма поиска и несколько полей БД. если данные соответствуют входному значению, то это поле или аналогичные все поля будут эхо. примеры:Форма поиска для нескольких полей db
догадка у меня есть 5 полей в моей БД:
$f1, $f2, $f3, $f5
и все из которых содержит некоторую строку, как
$f1 = "Hello there I'm f1, look at the outside";
$f2 = "Hello there I'm f2, be brave on you";
$f3 = "Hello there I'm f3,Do great things";
$f4 = "Hello there I'm f4, drink somethings";
$f5 = "Hello there I'm f5, eat somethings";
Теперь догадываюсь $search
это поле ввода там мы будем искать все данные, хранящиеся в этой переменной. Если мы наберем look at the outside
эту строку только на нашем поле ввода html, тогда $f1
будет эхо целовать данные $f1
, но если мы будем искать с Hello there I'm
этими строками, то это будет echo
наши все переменные, потому что во всех них доступны эти строки. Я думаю, что примеры помогут вам правильно понять, что мое требование на самом деле.
проблема, стоящая на рабочем:
поиска данные в случае совпадения каких-либо данных, то все поля, показывающие, как я использовал эхо ключевого слова PHP на цикле Еогеаспа для всех полей.
Отрывки здесь:
<?php
if(isset($_GET['submit_value']) && !empty($_GET['search_input']))
{
include("db_config.php");
$db = database::getInstance();
$searchValue = $_GET['search_input'];
$sql = "SELECT * FROM `sitedata` WHERE c_main_title LIKE '%$searchValue%' OR c_main_body LIKE '%$searchValue%' OR cmt_dept_title LIKE '%$searchValue%' OR cmt_dept_body LIKE '%$searchValue%' OR aidt_dept_title LIKE '%$searchValue%' OR aidt_dept_body LIKE '%$searchValue%' OR food_dept_title LIKE '%$searchValue%' OR food_dept_body LIKE '%$searchValue%' OR rac_dept_title LIKE '%$searchValue%' OR rac_dept_body LIKE '%$searchValue%' OR p_message_title LIKE '%$searchValue%' OR p_message_body LIKE '%$searchValue%' OR vp_message_title LIKE '%$searchValue%' OR vp_message_body LIKE '%$searchValue%' OR about_college_title LIKE '%$searchValue%' OR about_college_body LIKE '%$searchValue%' OR mission_message LIKE '%$searchValue%' OR vision_message LIKE '%$searchValue%' ";
// Now i want to match fields with my $searchValue var if fields match with input data then that fields will echo. otherwise won't.
$result = $db->dbc->query($sql);
foreach($result as $row)
{
// Now i need to use condition here to show my data which match with input field.
// like $field1 = " hello world this is me" and user input value = "hello world"; then this will show up!
echo "<h2 class='all-header'>".$row['c_main_title']."</h2>";
echo $row['c_main_body'];
echo "<h2 class='all-header'>".$row['cmt_dept_title']."</h2>";
echo $row['cmt_dept_body'];
echo "<h2 class='all-header'>".$row['aidt_dept_title']."</h2>";
echo $row['aidt_dept_body'];
echo "<h2 class='all-header'>".$row['food_dept_title']."</h2>";
echo $row['food_dept_body'];
echo "<h2 class='all-header'>".$row['p_message_title']."</h2>";
echo $row['p_message_body'];
echo "<h2 class='all-header'>".$row['vp_message_title']."</h2>";
echo $row['vp_message_body'];
echo "<h2 class='all-header'>".$row['about_college_title']."</h2>";
}
}
else { echo "<h2 class='not-found'>404 not found !</h2>";}
?>
Что произойдет с вашим кодом выше? – Chay22
Вы не можете узнать из этого запроса БД, какое поле соответствует поисковому запросу. Для этого вам нужно настроить отдельные поисковые запросы. – aeonsleo
проблемы, с которыми сталкиваются при работе: поиск данных при совпадении любых данных, тогда все поля отображаются, поскольку я использовал ключевое слово echo php для цикла foreach для всех полей. –