Покинул форум
Сообщений всего: 4
Дата рег-ции: Май 2011
Помог: 0 раз(а)
Доброго времени суток!
Я недавно начал изучать php, и возникла проблема с написанием кода.
Вообщем у меня есть база с инфой о фильмах (название, режиcсер, время фильма и год).
Я хочу сделать поиск по этой базе, но у меня почему-то из формы для запроса ничего не передается.
echo"The original title of the film is: $title.<br>";
echo"The director's name of the film(s) is: $director.<br>";
echo"The duration of the film(s) is: $duration minutes. <br>";
echo"The year of the film(s) is: $year.<br>";
}
?>
</body>
</html>
когда я что-то ввожу в форму и жму "найти", в браузере вылезает следующее:
Цитата:
1 match!
"; } else { echo "Found $result matches!
"; } while ($row= mysql_fetch_array($query)) { $title= $row["title"]; $director = $row["director"]; $duration = $row["duration"]; $year= $row["year"]; echo "The original title of the film is: $title.
"; echo "The director's name of the film(s) is: $director.
"; echo "The duration of the film(s) is: $duration minutes.
"; echo "The year of the film(s) is: $year.
"; } ?>
это пишется независимо от того, есть ли это в базе, один там результат, несколько или вообще ничего.
когда просто запускаю search.php все работает, на монитор выводится:
Цитата:
Sorry, couldn't find anything about your query ()
, т.к. ничего не запрошено,
или я могу, например, в ручную установить значение, заменив 12 строчку в search.php на:
Found 2 matches!
The original title of the film is: Inception.
The director's name of the film(s) is: Nolan.
The duration of the film(s) is: 148 minutes.
The year of the film(s) is: 2010.
The original title of the film is: The Town.
The director's name of the film(s) is: Affleck.
The duration of the film(s) is: 124 minutes.
The year of the film(s) is: 2010.
как я и хочу, то что есть в базе.
Насколько я понимаю, проблема в том, что из формы отправки не передаются значения, а значит проблема в ней. Или передаются, но у меня никак не получается их вытащить из POST, т.е. я как-то неправильно пишу 12ю строчку в search.php.
Пожалуйста, помогите разобраться, сам никак не могу найти свою ошибку.
Заранее благодарен.
Саныч
Отправлено: 02 Мая, 2011 - 23:39:32
Участник
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
Помог: 62 раз(а)
убрать global $search_query;
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
enermult
Отправлено: 03 Мая, 2011 - 00:25:35
Новичок
Покинул форум
Сообщений всего: 4
Дата рег-ции: Май 2011
Помог: 0 раз(а)
убирал, результат такой же, только еще вылезает 5 "notice: undefined variable: $search_query..." про 15,16 и 22 строчку...
Alex_pac
Отправлено: 03 Мая, 2011 - 01:47:20
Новичок
Покинул форум
Сообщений всего: 41
Дата рег-ции: Май 2011
"SELECT * FROM films WHERE title LIKE '$search_query' OR director LIKE '$search_query' OR duration LIKE '$search_query' OR year LIKE '$search_query' ORDER BY year DESC"
echo"The original title of the film is: {$row[title]}.<br>
The director's name of the film(s) is: {$row[$director]}.<br>
The duration of the film(s) is: {$row[duration]} minutes. <br>
The year of the film(s) is: {$row[year]}.<br>";
}
}else{
echo"Sorry, couldn't find anything about your query ({$_POST[search_query]})";
}
}else{echo'переменная $_POST[search_query] не передана скрипту';}
?>
</body>
</html>
enermult
Отправлено: 03 Мая, 2011 - 03:32:57
Новичок
Покинул форум
Сообщений всего: 4
Дата рег-ции: Май 2011
Помог: 0 раз(а)
отдельно все ок, если вводим через форму, браузер выплевывает:
Цитата:
" . mysql_error()); mysql_select_db("dbcurse") or die("Can't select database!
" . mysql_error()); function universal_like_escape($str) { return '%'.str_replace('*','%',addCslashes(mysql_real_escape_string(str_replace('\\','\\\\',$str)), '_%')).'%'; } if(isset($_POST['search_query'])) { //start script $search_query = universal_like_escape ($_POST['search_query']); $result= mysql_query( "SELECT * FROM films WHERE title LIKE '$search_query' OR director LIKE '$search_query' OR duration LIKE '$search_query' OR year LIKE '$search_query' ORDER BY year DESC" ); if (($count_rows = mysql_num_rows($result)) > 0) { echo "Found $count_rows match!
"; while ($row=mysql_fetch_assoc($result)) { echo "The original title of the film is: {$row[title]}.
The director's name of the film(s) is: {$row[$director]}.
The duration of the film(s) is: {$row[duration]} minutes.
The year of the film(s) is: {$row[year]}.
"; } } else { echo "Sorry, couldn't find anything about your query ({$_POST[search_query]})"; } } else { echo 'переменная $_POST[search_query] не передана скрипту'; } ?>
может у меня в компе бесы, хотя врядли.
Alex_pac
Отправлено: 03 Мая, 2011 - 06:36:00
Новичок
Покинул форум
Сообщений всего: 41
Дата рег-ции: Май 2011
Помог: 0 раз(а)
такое ощущение что сервер у вас не работает и не может php парсить.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.