<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Данный курс научит Вас создавать крупные проекты на Java грамотно и быстро. В курсе Вы увидите создание большой и сложной программы на Java абсолютно с нуля.

В начале курса у нас будет только идея, а в конце готовый продукт, который можно использовать в практических целях.

В рамках упражнений курса Вы параллельно со мной будете создавать свою большую программу на Java, что даст Вам необходимую практику, после которой для Вас уже не будет разницы, какого размера создавать программы.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Поиск на PHP и MySQL
03.07.2012 01:27:33 Поиск на PHP и MySQL Сообщение #1
Nikita

Nikita

Освоившийся

Освоившийся

Дата регистрации:
06.06.2012 22:12:07

Сообщений: 36

search.php

<div style="text-align: center;">
<form action="search.php" method="get" name="form_s">
<input class="search_input_text" name="result" type="text" size="30" maxlength="40" placeholder="Поиск Статьи..."/>
<input class="search_input_submit" name="submit_search" type="image" src="img/search/search_submit.jpg"/>
</form>
</div>





<?php
error_reporting(NULL);
if (isset($_GET['result'])) {
$searchs = mysql_escape_string(strip_tags(trim($_GET['result'])));

$errors = array();
if (empty($result)) {
$errors[] = '<p>Введите поисковой запрос!</p>';
} else if (strlen ($result) < 3) {
$errors[] = '<p>Запрос должен быть более 3 символов!</p>';
}
if (empty($errors)) {
//Обработка запроса

$returned_results = array();
$where = "";

$result = preg_split("/[\s]+/", $result);
$total_search = count($result);

foreach ($result as $key => $search) {
$where .= "text LIKE '%$search%'";

if ($key != ($total_search - 1)) {
$where .= " OR ";
}
}

$tableName="articles";
$targetpage = "articles.php";
$limit = 3;

$query = "SELECT COUNT(*) as num FROM $tableName WHERE $where";
$total_pages = mysql_fetch_array(mysql_query($query));
$total_pages = $total_pages['num'];

$stages = 3;
$page = mysql_escape_string($_GET['page']);
if($page){
$start = ($page - 1) * $limit;
}else{
$start = 0;
}

$results_result = "SELECT * FROM $tableName WHERE $where ORDER BY id DESC LIMIT $start, $limit ";
$results_result = mysql_query($results_result);


if ($page == 0){$page = 1;}
$prev = $page - 1;
$next = $page + 1;
$lastpage = ceil($total_pages/$limit);
$LastPagem1 = $lastpage - 1;


$paginate = '';
if($lastpage > 1)
{




$paginate .= "<div class='paginate'>";

if ($page > 1){
$paginate.= "<a href='$targetpage?page=$prev'>Предыдущая</a>";
}else{
$paginate.= "<span class='disabled'>Предыдущая</span>"; }




if ($lastpage < 7 + ($stages * 2))
{
for ($counter = 1; $counter <= $lastpage; $counter++)
{
if ($counter == $page){
$paginate.= "<span class='current'>$counter</span>";
}else{
$paginate.= "<a href='search.php?page=$counter'>$counter</a>";}
}
}
elseif($lastpage > 5 + ($stages * 2))
{

if($page < 1 + ($stages * 2))
{
for ($counter = 1; $counter < 4 + ($stages * 2); $counter++)
{
if ($counter == $page){
$paginate.= "<span class='current'>$counter</span>";
}else{
$paginate.= "<a href='search.php?page=$counter&$result'>$counter</a>";}
}
$paginate.= "...";
$paginate.= "<a href='search.php?page=$LastPagem1&$result'>$LastPagem1</a>";
$paginate.= "<a href='search.php?page=$lastpage&$result'>$lastpage</a>";
}

elseif($lastpage - ($stages * 2) > $page && $page > ($stages * 2))
{
$paginate.= "<a href='search.php?page=1&$result'>1</a>";
$paginate.= "<a href='search.php?page=2&$result'>2</a>";
$paginate.= "...";
for ($counter = $page - $stages; $counter <= $page + $stages; $counter++)
{
if ($counter == $page){
$paginate.= "<span class='current'>$counter</span>";
}else{
$paginate.= "<a href='search.php?page=$counter&$result'>$counter</a>";}
}
$paginate.= "...";
$paginate.= "<a href='search.php?page=$LastPagem1&$result'>$LastPagem1</a>";
$paginate.= "<a href='search.php?page=$lastpage&$result'>$lastpage</a>";
}

else
{
$paginate.= "<a href='search.php?page=1&$result'>1</a>";
$paginate.= "<a href='search.php?page=2&$result'>2</a>";
$paginate.= "...";
for ($counter = $lastpage - (2 + ($stages * 2)); $counter <= $lastpage; $counter++)
{
if ($counter == $page){
$paginate.= "<span class='current'>$counter</span>";
}else{
$paginate.= "<a href='search.php?page=$counter&$result'>$counter</a>";}
}
}
}

// Next
if ($page < $counter - 1){
$paginate.= "<a href='search.php?page=$next&$search'>Следущая</a>";
}else{
$paginate.= "<span class='disabled'>Следущая</span>";
}

$paginate.= "</div>";


}

if (mysql_num_rows($results_result) > 0) {
$results_num = mysql_num_rows($results_result);
echo "<p style = 'margin-left: 30px;'>По Вашему Запросу <span style = 'color: #F78D1D; font-weight: bold;'>" . $_GET['result'] . "</span> Найдено <span style = 'color: #F78D1D; font-weight: bold;'>" . $results_num . "</span> Совпадений:</p>";
echo ('<br>');
echo ('<br>');
echo $paginate;
echo ('<br>');
echo ('<br>');
$myrow_result = mysql_fetch_array($results_result);
do {
printf("<table align='center' class='news_site'>
<tr>
<td><p class='news_site_title'><a href='articles_str.php?id=%s'>%s</a></p></td>
</tr>
<tr>
<td><p class='news_site_description'>%s</p><p class='news_site_bottom'>Дата: %s &nbsp;&nbsp;|&nbsp;&nbsp; Добавил: %s &nbsp;&nbsp;|&nbsp;&nbsp; Просмотров: %s &nbsp;&nbsp;|&nbsp;&nbsp; Коментарии: 4</p></td>
</tr>
</table><br><br>
", $myrow_result["id"], $myrow_result["title"], $myrow_result["description"], $myrow_result["date"], $myrow_result["author"], $myrow_result["view"]);
} while ($myrow_result = mysql_fetch_array($results_result));

} else {
echo '<p>По Вашему Запросу <span style="color: #F78D1D; font-weight: bold;">' . $_POST['result'] . '</span> Ничего Не Найдено!</p>';
}

} else {
foreach ($errors as $error) {
echo $error, '<br />';
}
}
}
?>

Вопросс:
Как убрать у браузерной строки при рузультате поиска что-бы не выдавало в конце

submit_search.x=0&submit_search.y=0

Пример: Набираю PHP В ПОИСКЕ, В РЕЗУЛЬТАТЕ ВЫДАЕТ В БРАУЗЕРНОЙ СТРОКЕ:

http://localhost/site.ru/search.php?result=PHP&submit_search.x=0&submit_search.y=0
Профиль Ответить
03.07.2012 10:32:42 Поиск на PHP и MySQL Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Здесь 2 простых варианта:
1. Добавить в тег <form> onsubmit="this.submit();return false;"
2. Заменить type="image" на type="submit", а саму картинку подставить через background.
Есть ещё вариант заменить GET на POST, а также можно ещё ставить на скрипте-обработчике редирект, где уже не использовать эти параметры. Но самые простые - это первые два.
Профиль Ответить
03.07.2012 12:06:49 Поиск на PHP и MySQL Сообщение #3
Nikita

Nikita

Освоившийся

Освоившийся

Дата регистрации:
06.06.2012 22:12:07

Сообщений: 36

1-й вариант не пашит(
2-й пашит, но как-то не так! Вбиваю слово php в поиск, результат:

http://localhost/site.ru/search.php?result=php&submit_search=%CE%F2%EF%F0%E0%E2%E8%F2%FC

Передает name="submit_search" в браузерную строку(
и что это: %CE%F2%EF%F0%E0%E2%E8%F2%FC ???
Профиль Ответить
03.07.2012 12:43:58 Поиск на PHP и MySQL Сообщение #4
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

1-й вариант прекрасно пашет, возможно, Вы что-то не так сделали.
2-й вариант прекрасно работает, просто Вы вводили русские символы, которые вот таким образом кодируются.
Профиль Ответить