Af1k
Прошу помочь написать правильно код вывода информации
есть БД:
Посмотреть вложение 5674На странице search.php нужно сделать выдачу результатов из формы:
Код (Text):
<form name=»search» method=»post» action=»search.php»> <input type=»search» name=»query» placeholder=»Введите трек-номер»> <button type=»submit»>Найти</button> </form>Помогите составить файл search php так, что бы при поиске в строке только по номеру 100000000*
выводило все 4 столбца информации.
если пустое поле то ошибка, если менее 3 символов или более 120 то ошибка.
если нет совпадения в БД то выдать что ничего не найдено.Есть код search.php но он в корни не правильный, помогите изменить код.
Код (Text):
<?php define(‘DB_HOST’, ‘localhost’); define(‘DB_USER’, ‘*******’); define(‘DB_PASS’, ‘*******’); define(‘DB_NAME’, ‘*******’); if (!mysql_connect(DB_HOST, DB_USER, DB_PASS)) { exit(‘Cannot connect to server’); } if (!mysql_select_db(DB_NAME)) { exit(‘Cannot select database’); } mysql_query(‘SET NAMES utf8’); function search ($query) { $query = trim($query); $query = mysql_real_escape_string($query); $query = htmlspecialchars($query); if (!empty($query)) { if (strlen($query) < 3) { $text=»<p>Слишком короткий поисковый запрос.</p>»; } else if (strlen($query) > 128) { $text=»<p>Слишком длинный поисковый запрос.</p>»; } else { $q = «SELECT `page_id`, `title`, `desc`, `title_link`, `category`, `uniq_id` FROM `table_name` WHERE `text` LIKE ‘%$query%’ OR `title` LIKE ‘%$query%’ OR `meta_k` LIKE ‘%$query%’ OR `meta_d` LIKE ‘%$query%'»; $result = mysql_query($q); if (mysql_affected_rows() > 0) { $row = mysql_fetch_assoc($result); $num = mysql_num_rows($result); $text=»<p>По запросу <b>».$query.'</b> найдено совпадений: ‘.$num.'</p>’; do { // Делаем запрос, получающий ссылки на статьи $q1 = «SELECT `link` FROM `table_name` WHERE `uniq_id` = ‘$row[page_id]'»; $result1 = mysql_query($q1); if (mysql_affected_rows() > 0) { $row1 = mysql_fetch_assoc($result1); } $text .= ‘<p><a> href=»‘.$row1[‘link’].»https://php.ru/».$row[‘category’].»https://php.ru/».$row[‘uniq_id’].'» title=»‘.$row[‘title_link’].'»>’.$row[‘title’].'</a></p> <p>’.$row[‘desc’].'</p>’; } while ($row = mysql_fetch_assoc($result)); } else { $text=»<p>По вашему запросу ничего не найдено.</p>»; } } } else { $text=»<p>Задан пустой поисковый запрос.</p>»; } return $text; } if (!empty($_POST[‘query’])) { $search_result = search ($_POST[‘query’]); echo $search_result; } ?>Спасибо за ответы!!!
miketomlin
Вам же написали, что этот код к делу не относится. Зачем его повторно постить? Тем более что он отстойный.
И, да, этот раздел тоже не совсем для вас Два других раздела выбраны правильно.
Вам не понятно по моему вопросу в первой теме, что выводить номер телефона, ФИО и др. ПД не надо?
— Добавлено —Человечество раньше загнется, чем вам столько заказов сделает
bigint unsigned – 20 цифр, но вам и unsigned int’а хватит.
Вероломство
бабуля моя в каменном веке с динозаврами так говнокодила
3 основных косяка:
1. Расширение для работы с мускулом, которое УСТАРЕЛО с версии PHP 5.5 (2013 — 2016 года).
2. Множество ифов вложенных во множественные ифы — цикломатическая сложность.
3. Ну и то, с чего автору нужно было начать — это сначала изучить HTML, например, тегу button не нужно задавать type=»submit», так как он по дефолту уже submitосновной плюс — автор не создаёт кнопку тегом input с типом submit, слава богу
miketomlin
@Вероломство, ТС нифига не сечет в этом. Если хотите помочь:
https://php.ru/forum/threads/poisk-v-baze-dannyx-i-vyvod-na-sajte-cherez-php.89433/
https://php.ru/forum/threads/poisk-v-baze-dannyx-i-vyvod-na-sajte-cherez-php.89435/
Вероломство
Нифига не сечёт? С нами с 2010-го года Через 10 лет колупает ГК-процедурку…
miketomlin
Он этот г/код где-то по-быстрому надыбал
— Добавлено —
Его первая тема. Можете ознакомиться:
https://php.ru/forum/threads/ne-pol…schi-php-i-vyvod-informacii-iz-msql-bd.89388/
Af1k
Ребята ну помогите с кодом. С php кодом вообще ни как не дружу, кому не сложно, как этот поиск сделать, неделю сижу код этот ковыряю…
miketomlin
https://php.ru/forum/posts/635073/ и с учетом того, что я написал в этой теме по поводу номера и т.п.
Вероломство
тут нужно калёным железом выжигать mysql_query, просто брать и отказываться, начни вот с этого — это самый лёгкий путь, чтобы спрыгнуть, из того, что есть в тюбике — самый лёгкий
потом после осознания сюда —
ну а потом по восприятию: хочешь ли ты быть программистом или пользователем готового фреймворка какого-то
и ещё читай каждый день по одной функции PHP, через год ты не то что бы будешь знать 365 функций, но ты хотя бы прочитаешь о них и что-то отложится
ну и в конце-концов *баш код
BAbl_gun
Если я не ошибаюсь то уже нужно использовать PDO или mysqli. Подправьте меня если я ошибаюсь