Добрые люди, подскажите почему не осуществляется поиск по заданному критерию Код (Text): function get_search_item_form () { echo '<form name="searchform" action="'.$_SERVER['PHP_SELF'].'?action=search" method="POST">'; echo 'Критерий<br>'; echo '<input type="text" name="date" size="60" value="">'; echo '<input type="submit" name="submit" value="Искать">' ; echo '<input type="reset" name="reset" value="Очистить">'; echo '</form>'; } function search_item () { $name = mysql_escape_string( $_POST['name'] ); $old = mysql_escape_string( $_POST['old'] ); $ves = mysql_escape_string( $_POST['ves'] ); $date = mysql_escape_string( $_POST['date'] ); $query = "SELECT * FROM t WHERE UPPER(date) LIKE '%".strtoupper($_POST['name'])."%'"; $res = mysql_query( $query ) or die("Запрос ошибочный"); header( 'Location: '.$_SERVER['PHP_SELF'] ); die(); } ну и вывод самой базы.... Код (Text): // Функция выводит список всех записей в таблице БД function show_list() { echo '<form action="search.php" method="post">'; echo 'Критерий<br>'; echo '<input type="text" name="date" size="60" value="">'; echo '<input type="submit" name="submit" value="Искать">'; echo '<input type="reset" name="reset" value="Очистить">'; echo '</form>'; $query = "SELECT * FROM t WHERE UPPER(date) LIKE '%".strtoupper($_POST['name'])."%'"; $res = mysql_query( $query ) or die("Запрос ошибочный"); echo '<h2>База</h2>'; echo '<table border="1" cellpadding="2" cellspacing="0">'; echo '<tr><th>ID</th><th>Имя</th><th>Возраст</th><th>Вес</th><th>Дата</th><th>Ред.</th><th>Удл.</th></tr>'; while ( $item = mysql_fetch_array( $res ) ) { echo '<tr>'; echo '<td>'.$item['id'].'</td>'; echo '<td>'.$item['name'].'</td>'; echo '<td>'.$item['old'].'</td>'; echo '<td>'.$item['ves'].'</td>'; echo '<td>'.$item['date'].'</td>'; echo '<td><a href="'.$_SERVER['PHP_SELF'].'?action=editform&id='.$item['id'].'">Ред.</a></td>'; echo '<td><a href="'.$_SERVER['PHP_SELF'].'?action=delete&id='.$item['id'].'">Удл.</a></td>'; echo '</tr>'; } echo '</table>'; echo '<p><a href="'.$_SERVER['PHP_SELF'].'?action=addform">Добавить</a></p>'; echo '<p><a href="'.$_SERVER['PHP_SELF'].'?action=searchform">Поиск</a></p>'; } подскажите где ошибки....
А $_POST['name'] имеет значение? Добавлено спустя 1 минуту 23 секунды: Зачем ты очищаешь $name = mysql_escape_string( $_POST['name'] ); а в запрос ставишь strtoupper($_POST['name'])
Код (Text): $query = "SELECT * FROM t WHERE UPPER(date) LIKE '%".strtoupper($_POST['date'])."%'"; echo '<input type="text" name="date" size="60" value="">'; вот так... Добавлено спустя 1 минуту 35 секунд: то есть Код (Text): mysql_escape_string не использовать?
Использовать! В твоем запросе ты подставляешь как раз не очищенные данные, хотя до этого ты очистил. Да используй $_POST['date']