Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2012, 22:09   #1
Pingvinenok_Lolo
Пользователь
 
Регистрация: 05.11.2011
Сообщений: 56
По умолчанию Вывод блока контента с подробной инфой

Привет форумчанам!
Такой вопрос: форму подробного объявления надо выводить только тогда, когда существует пер-я details (короче, если пользователь нажал на ссылку), а получается если раз нажал на ссылку и выбрал другой параметр поиска, то форма все равно вылазит в контетн. Как обнулить эту ссылку? Или как сделать так, чтобы форма выводилась только когда надо, а не все время вылазила...?
Благодарю за внимание!
PHP код:
<form action="" method="post">
&nbsp;&nbsp;&nbsp;<tr>
<td width="70">Тип:&nbsp;</td>
<td><select name="mr" size="1">
        <option value=""></option>
        <option value="Квартира">Квартира</option>
        <option value="Дом">Дом/Дача</option>
        <option value="Гараж">Гараж</option>
        <option value="Коммерческая">Коммерческая</option>
        <option value="Участок">Участок</option>
        </select>
        </td>
</tr>
&nbsp;&nbsp;
<tr>
<td width="70">Операция:&nbsp;</td>
<td><select name="mo" size="1">
        <option value=""></option>
        <option value="Купить">Купить</option>
        <option value="Продать">Продать</option>
        <option value="Сдать">Сдать</option>
        <option value="Снять">Снять</option>
        </select>
        </td>
</tr>
<tr>
    <td>&nbsp;&nbsp;&nbsp;<input type="submit" name="seek" value="Найти!"></td>
</tr>
</form>
<?php
$title 
= array("Дата","Район""Кол-во комнат""Площадь""Цена""Контакты""Фото");

$little_image "./photo/little/";

if (empty(
$_POST['mr']) && empty($_POST['mo']))
{
    
$mr "Квартира";
    
$mo "Купить";
}
if (isset (
$_POST['seek']))
{
    
$mr $_POST['mr'];
    
$mo $_POST['mo'];
}

$sql "SELECT  `id`, `date_dec`, `operation`, `estate_type`, `rooms`, `floor`,`square_all`, `square_live`,
                `square_k`, `wall`, `street`, `area_of_kerch`, `house`, `year`, `price`, `price_currency`,
                `price_comment`, `photo`, `publication`, `zem_uch`, `target`, `name_object`, `comment`,
                `contacts` FROM `table_main` WHERE `operation`='"
.$mo."' AND `estate_type`='".$mr."'";

    
$data mysql_query($sql) or die (my_err_sql());
    echo 
$mr." -> ".$mo;
    echo 
"<table border=\"1\">";
    foreach (
$title as $value)
    {
        echo 
"<td align=\"center\"> ".$value." </td>";
    }
    
    while (
$item mysql_fetch_array ($data))
    {
        
$id $item['id'];
        
$sql_photo "SELECT `photo_name` FROM `photo` WHERE `id`='".$id."'";
        
$photo mysql_query($sql_photo) or die (my_err_sql());
        
$p mysql_fetch_array ($photo);
        echo 
"<tr>
        <td>"
.$item["date_dec"]."</td>
        <td>"
.$item["area_of_kerch"]."</td>";
            if ((
$mr == "Квартира") || ($mr == "Дом"))
            {
                echo 
"<td>".$item["rooms"]."</td>";
            }
            else echo 
"<td> - </td>";
        echo 
"<td>".$item["square_all"]."</td>
        <td>"
.$item["price"]." ".$item["price_currency"]."</td>
        <td>"
.$item["contacts"]."</td>";
        echo 
'<td><img src="'.$little_image.$p['photo_name'].'" alt="" /></td>';
        echo 
'<td><a href="main.php?item=estate&details='.$item['id'].'">Подробней</a></td>';
        echo 
"</tr>";
}
echo 
"</table>";

if (isset (
$_GET['details']))
{
    
$sql "SELECT `date_dec`, `operation`, `estate_type`, `rooms`, `floor`,`square_all`, `square_live`,
            `square_k`, `wall`, `street`, `area_of_kerch`, `house`, `year`, `price`, `price_currency`,
            `price_comment`, `photo`, `publication`, `zem_uch`, `target`, `name_object`, `comment`,
            `contacts` FROM `table_main` WHERE `id`=
$id";
    
$data mysql_query ($sql) or die (my_err_sql ());
    
$item mysql_fetch_array ($data);
    
$sql_photo "SELECT `photo_name` FROM `photo` WHERE `id`='".$id."'";
    
$photo mysql_query($sql_photo) or die (my_err_sql());
    
$p mysql_fetch_array ($photo);
    
    require_once 
"./templates/detail.php"// форма вывода подробного объявления
}
?>

Последний раз редактировалось Pingvinenok_Lolo; 29.03.2012 в 01:38. Причина: Дополнила код
Pingvinenok_Lolo вне форума Ответить с цитированием
Старый 28.03.2012, 23:01   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Вы имеете в виду, если в URL кроме details появляется ещё что-то? Проверяйте на наличие других параметров в $_GET
motorway вне форума Ответить с цитированием
Старый 29.03.2012, 01:39   #3
Pingvinenok_Lolo
Пользователь
 
Регистрация: 05.11.2011
Сообщений: 56
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
Вы имеете в виду, если в URL кроме details появляется ещё что-то? Проверяйте на наличие других параметров в $_GET
Сначала у меня идет форма поиска, так вот, когда посылаю в форме $_POST-запрос, то массив $_GET должен очищаться, а он остается неизменным, поэтому и форма подробного объявления все время висит на странице, как от этого избавиться?
Pingvinenok_Lolo вне форума Ответить с цитированием
Старый 29.03.2012, 10:56   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Pingvinenok_Lolo Посмотреть сообщение
Сначала у меня идет форма поиска, так вот, когда посылаю в форме $_POST-запрос, то массив $_GET должен очищаться, а он остается неизменным, поэтому и форма подробного объявления все время висит на странице, как от этого избавиться?
У вас в форме не указано значение атрибута action:
Код HTML:
<form action="" method="post">
В этом случае автоматически используется текущий URL - со всеми GET-параметрами.
Хотите очистить GET при использовании формы - указывайте обработчик в атрибуте action явно.
Andkorol вне форума Ответить с цитированием
Старый 29.03.2012, 12:04   #5
Pingvinenok_Lolo
Пользователь
 
Регистрация: 05.11.2011
Сообщений: 56
По умолчанию

Andkorol, Точно! Не указала значение action! Исправила, работает Спасибо Вам огромнейшее!!!!

Вообще-то задумка такая, хочу сделать вывод контента примерно как на этом сайте http://dompoisk.com/kvartira16693.htm чтобы инфа также выводилась: таблица с инфой, а подробности конкретного объявления вверху перед выводом таблицы. Как такое можно реализовать?
Pingvinenok_Lolo вне форума Ответить с цитированием
Старый 29.03.2012, 12:45   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Pingvinenok_Lolo Посмотреть сообщение
Как такое можно реализовать?
Написать код и реализовать, как же ещё...
Что конкретно вы делаете - и что именно у вас не получается?
Andkorol вне форума Ответить с цитированием
Старый 29.03.2012, 12:56   #7
Pingvinenok_Lolo
Пользователь
 
Регистрация: 05.11.2011
Сообщений: 56
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Написать код и реализовать, как же ещё...
Что конкретно вы делаете - и что именно у вас не получается?
Что конкретно я делаю см. код в первом посте, а не получается выводить форму "подробно объявления" перед таблицей, т.е. сейчас у меня код написан так, что подробности выводятся в конце страницы (впереди идут 20 записей объектов например и аж в самом конце подробная инфа по конкретному объявлению), это не совсем красиво и не читабельно для пользователя. Как выводить форму в начале? Нужно какое-то условие для вывода контента и вот на этом условии зависла я )))
Pingvinenok_Lolo вне форума Ответить с цитированием
Старый 29.03.2012, 13:04   #8
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Pingvinenok_Lolo Посмотреть сообщение
Как выводить форму в начале?
Ну а просто переместить условие и код вывода формы детальной информации выше, чем код вывода ваших 20-ти записей - тоже не получается?
Код выполняется сверху вниз, если что.
Andkorol вне форума Ответить с цитированием
Старый 29.03.2012, 13:10   #9
Pingvinenok_Lolo
Пользователь
 
Регистрация: 05.11.2011
Сообщений: 56
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Ну а просто переместить условие и код вывода формы детальной информации выше, чем код вывода ваших 20-ти записей - тоже не получается?
А где мне тогда id взять для конкретного объявления,id получаю из первого запроса и использую его далее. Ну перемещу я этот кусок кода в начало и получаю НЕИЗВЕСТНЫЙ ИДЕНТИФИКАТОР id
Pingvinenok_Lolo вне форума Ответить с цитированием
Старый 29.03.2012, 13:21   #10
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Pingvinenok_Lolo Посмотреть сообщение
А где мне тогда id взять для конкретного объявления,id получаю из первого запроса и использую его далее. Ну перемещу я этот кусок кода в начало и получаю НЕИЗВЕСТНЫЙ ИДЕНТИФИКАТОР id
Вот отсюда:
Цитата:
<a href="main.php?item=estate&details= '.$item['id'].'">Подробней</a>
Он же у вас передается в URL.
Только, плиз - не используйте данные из POST & GET в запросах к MySQL без обработки или экранирования хотя-бы, это же явная SQL-injection.
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
слайдер контента CodeNOT JavaScript, Ajax 1 04.10.2011 01:23
Просмотр нового контента в IE Lindemann66 HTML и CSS 2 10.08.2011 12:23
Вывод div блока на главной XPsihopaTX PHP 12 06.01.2011 19:05
задача с обновлением Memo и сразу последующим его заполнением инфой по сети NiKiToZZ- Помощь студентам 5 29.12.2010 12:55
Менеджер контента Insainer HTML и CSS 1 27.04.2008 11:06