Прошу помочь написать правильно код вывода информации есть БД: Посмотреть вложение 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'].'/'.$row['category'].'/'.$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; } ?> Предлагайте цену за реализацию!
$10 с вашей версткой (нужно будет взять от сайта). И я принципиально ПД по номеру выводить не буду. --- Добавлено --- Или, спустя 10 лет все-таки придется норм. выучить пых, чтобы никому не платить
Посмотрите на скриншотах: если это то, что Вам надо, могу так сделать. Для номера 100000004 я сделал две записи в базу, чтобы показать, как будет работать, если номер повторяется (в тексте задания нет информации, что он должен быть уникальным):
@alexphp, естественно, он должен быть уникальным. И, возможно, выдаваться самой БД (автоинкремент). Можно уточнить у ТСа.
Главное – не простота, а «вменяемость» --- Добавлено --- Например, ничего не выводить в ответ на POST-запрос.
Как во вменяемых программах --- Добавлено --- Плюс ТС при желании сможет сразу давать ссылку на страницу отслеживания статуса конкретного заказа.
Вы имеете в виду, что ошибки выполнения пишутся в журнал ошибок, а не на экран? Ну, это уже дополнительная задача, если я правильно понимаю.
Она укладывается в рамки текущей, т.к. ничего дополнительно не требует. Нет, в ответ на GET-запрос Все, хорош.
@Af1k, что сдулся? Спустя 10 лет, по-прежнему, 10 баксов – неподъемная сумма? Тогда сами пишите ваш бюджет Или обратитесь к miltorg'у в одной из соседних тем. Он за 50 р./час работает