Есть форма поиска:
Есть база данных:
Есть код поиска по базе и вывод найденных строк.
Но при поиске страница просто перезагружается и результаты не выводятся.
Скажите, пожалуйста, в чем может быть проблема?
мне кажется, что в цикле while, но я не могу его понять.
Код index.php
<?php
// Хостинг
$sql_ipmysql = "localhost";
// Логин
$sql_login = "root";
// Пароль
$sql_password = "";
// База Данных
$sql_database = "base";
// Подключаемся к БД
$conn = new mysqli($sql_ipmysql, $sql_login, $sql_password, $sql_database);
if ($conn->connect_errno) {
echo "Извините, возникла проблема на сайте";
exit;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<!-- Форма поиска по базе -->
<form action="" method="post">
<input type="text" name="phone" placeholder="Телефон"/><br />
<input type="text" name="dateadd" placeholder="Дата"/><br />
<input type="text" name="name" placeholder="Имя"/><br />
<input type="text" name="place" placeholder="Площадка"/><br />
<input type="submit" value="Поиск" />
</form>
<?php
if (isset($_POST['phone'])){
$zapros1 = " and 'phone' IN ('".$_POST['phone']."')";
} else {$zapros1="";}
if (isset($_POST['dateadd'])){
$zapros2 = " and 'dateadd' IN ('".$_POST['dateadd']."')";
} else {$zapros2="";}
if (isset($_POST['name'])){
$zapros3 = " and 'name' IN ('".$_POST['name']."')";
} else {$zapros3="";}
if (isset($_POST['place'])){
$zapros4 = " and 'place' IN ('".$_POST['place']."')";
} else {$zapros4="";}
$foolzapros="WHERE ".$zapros1.$zapros2.$zapros3.$zapros4;
//делаем запрос в базу данных
$sql = "SELECT * FROM `items`
$foolzapros
ORDER BY RAND() LIMIT 10
";
if (!$result = $conn->query($sql)) {
echo "Извините, возникла проблема в работе сайта.";
exit;
}
while ($data = $result->fetch_assoc()) {
$text=strtolower($data['name']);
$text = preg_replace('%[^a-zа-я\d]%i', ' ', $text);
$text=str_replace (' ',' ',$text);
$text=str_replace (' ',' ',$text);
$text=str_replace (' ','_',$text);
} echo "
<p>
".$data['phone'].".".$data['dateadd'].".".$data['name'].".".$data['place']."
</p>
"
?>
</body>
</html>
В вашем запросе после WHERE сразу идет AND [SELECT * FROM items
WHERE and phone
IN ...]. Пофиксите это и тогда должно будет работать.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Учусь работать с Yandex Direct APIЯ скопировал код-пример с их сайта: https://tech
Поставил nginx, mysql-server, php, а вот когда дело дошло до запуска скрипта infophp