~~NOCACHE~~ ====== 5 букв, версия 2 ====== Буквы можно указывать подряд, без разделителей и пробелов. Использованы слова из [[https://shra.ru/2017/03/baza-dannykh-russkikh-slov-sushhestvitelnye/|базы данных.]]\\ [[cross2|Начать сначала]] ===== Укажите буквы =====
Фильтр буквПрисутствуютОтсутствуют
Любое место
1-я буква точно
2-я буква точно
3-я буква точно
4-я буква точно
5-я буква точно
 
//echo "
---
"; //print_r($_POST); //echo "
---
"; if (isset($_POST['submit'])) { if (isset($_POST['clear'])) { $wExists = ""; $wAbsent = ""; $w1_is = ""; $w2_is = ""; $w3_is = ""; $w4_is = ""; $w5_is = ""; $w1_abs = ""; $w2_abs = ""; $w3_abs = ""; $w4_abs = ""; $w5_abs = ""; $do_search = 0; } else { $wExists = preg_replace('/[^а-я]/iu', '', mb_strtolower($_POST['wExists'])); $wAbsent = preg_replace('/[^а-я]/iu', '', mb_strtolower($_POST['wAbsent'])); $w1_is = preg_replace('/[^а-я]/iu', '', mb_strtolower(mb_substr($_POST['w1_is'], 0 , 1))); $w2_is = preg_replace('/[^а-я]/iu', '', mb_strtolower(mb_substr($_POST['w2_is'], 0 , 1))); $w3_is = preg_replace('/[^а-я]/iu', '', mb_strtolower(mb_substr($_POST['w3_is'], 0 , 1))); $w4_is = preg_replace('/[^а-я]/iu', '', mb_strtolower(mb_substr($_POST['w4_is'], 0 , 1))); $w5_is = preg_replace('/[^а-я]/iu', '', mb_strtolower(mb_substr($_POST['w5_is'], 0 , 1))); $w1_abs = preg_replace('/[^а-я]/iu', '', mb_strtolower($_POST['w1_abs'])); $w2_abs = preg_replace('/[^а-я]/iu', '', mb_strtolower($_POST['w2_abs'])); $w3_abs = preg_replace('/[^а-я]/iu', '', mb_strtolower($_POST['w3_abs'])); $w4_abs = preg_replace('/[^а-я]/iu', '', mb_strtolower($_POST['w4_abs'])); $w5_abs = preg_replace('/[^а-я]/iu', '', mb_strtolower($_POST['w5_abs'])); $do_search = 1; } echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; $wExistsSQL = ""; if (mb_strlen($wExists) > 0) { $chars = mb_str_split($wExists); foreach($chars as $char) { $wExistsSQL = $wExistsSQL . " AND LOWER(word) LIKE '%" . $char . "%'"; } } $wAbsentSQL = ""; if (mb_strlen($wAbsent) > 0) { $chars = mb_str_split($wAbsent); foreach($chars as $char) { $wAbsentSQL = $wAbsentSQL . " AND LOWER(word) NOT LIKE '%" . $char . "%'"; } } if (mb_strlen($w1_abs) > 0) { $chars = mb_str_split($w1_abs); foreach($chars as $char) { $wAbsentSQL = $wAbsentSQL . " AND SUBSTR(word, 1, 1) <> '" . $char . "'"; } } if (mb_strlen($w2_abs) > 0) { $chars = mb_str_split($w2_abs); foreach($chars as $char) { $wAbsentSQL = $wAbsentSQL . " AND SUBSTR(word, 2, 1) <> '" . $char . "'"; } } if (mb_strlen($w3_abs) > 0) { $chars = mb_str_split($w3_abs); foreach($chars as $char) { $wAbsentSQL = $wAbsentSQL . " AND SUBSTR(word, 3, 1) <> '" . $char . "'"; } } if (mb_strlen($w4_abs) > 0) { $chars = mb_str_split($w4_abs); foreach($chars as $char) { $wAbsentSQL = $wAbsentSQL . " AND SUBSTR(word, 4, 1) <> '" . $char . "'"; } } if (mb_strlen($w5_abs) > 0) { $chars = mb_str_split($w5_abs); foreach($chars as $char) { $wAbsentSQL = $wAbsentSQL . " AND SUBSTR(word, 5, 1) <> '" . $char . "'"; } } if (mb_strlen($w1_is) > 0) { $wExistsSQL = $wExistsSQL . " AND SUBSTR(LOWER(word), 1, 1) = '" . $w1_is . "'"; } if (mb_strlen($w2_is) > 0) { $wExistsSQL = $wExistsSQL . " AND SUBSTR(LOWER(word), 2, 1) = '" . $w2_is . "'"; } if (mb_strlen($w3_is) > 0) { $wExistsSQL = $wExistsSQL . " AND SUBSTR(LOWER(word), 3, 1) = '" . $w3_is . "'"; } if (mb_strlen($w4_is) > 0) { $wExistsSQL = $wExistsSQL . " AND SUBSTR(LOWER(word), 4, 1) = '" . $w4_is . "'"; } if (mb_strlen($w5_is) > 0) { $wExistsSQL = $wExistsSQL . " AND SUBSTR(LOWER(word), 5, 1) = '" . $w5_is . "'"; } if ($do_search == 1) { $conn = new mysqli("localhost", "words", "words", "words"); $conn->set_charset("utf8"); // Check connection if ($conn->connect_error) { die("Ошибка соединения с базой данных, продолжение не возможно.
Ошибка для разработчика: " . $conn->connect_error); } $sql = ""; $sql = $sql . "SELECT * FROM nouns" . " "; $sql = $sql . "WHERE CHAR_LENGTH(word) = 5" . " "; $sql = $sql . " AND word NOT LIKE '%-%'" . " "; $sql = $sql . " " . $wExistsSQL; $sql = $sql . " " . $wAbsentSQL; //$sql = $sql . " " . "ORDER BY rand()"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row echo ""; echo ""; echo ""; echo ""; echo ""; while($row = $result->fetch_assoc()) { if ($row["soul"] == 1) { $sup_text = " | одушевленный"; } if ($row["soul"] == 0) { $sup_text = " | неодушевленный"; } if (($row["soul"] <> 0) && ($row["soul"] <> 1)) { $sup_text = ""; } if ($row["wcase"] <> "") { $sup_text = " | " . $row["wcase"] . $sup_text; } $sup_text = $row["gender"] . $sup_text; echo ""; echo ""; echo ""; echo ""; } echo "
Найдено " . $result->num_rows . " слов 
" . mb_strtolower($row["word"]) . "" . "" . $sup_text . "" . "
"; } else { echo "По текущему фильтру данных не найдено."; } $conn->close(); } else { echo "Фильтр не установлен, данные не отображаются
"; } } else { echo "Фильтр не установлен, данные не отображаются
"; }
---- **Просмотров:** сегодня {{counter|today}} шт., вчера {{counter|yesterday}} шт., всего {{counter|total}} шт.