Re[3]: отбор записей по отмеченному checkbox в PHP + MySQL
От: Mamut Швеция http://dmitriid.com
Дата: 28.07.08 12:58
Оценка:
Здравствуйте, zloynik, Вы писали:

Z>Здравствуйте, Mamut, Вы писали:


Z>>>Здравствуйте все! Очень нужна помощь. Кто может помогите, пожалуйста. Есть таблица вывода объектов недвижимости. Есть свободный элемент "key[]". Как сделать, чтобы можно было отмеченные объекты вывести на печать и прочее. Спасибо.

M>>
M>>foreach($_REQUEST[key] as $value)
M>>{
M>>    //что-то там делаем
M>>}
M>>

Z>Немного разверну вопрос. По-моему я неправильно его задала.

Мде. Это называется извращение

1. Никогда. нет НИКОГДА не формируйте sql в запросе
2.

$filter = '';

foreach($_REQUEST['key'] as $objid)
{
    if(is_numeric($objid))
    {
        $filter .= "$objid OR ";
    }
}



После этого изменяем код:

<script language="JavaScript" type="text/javascript">

    
    //  Показать выделенные 
    function ShowOffers(print){

        // поскипано
        if ( idobj.length < 1 ) {
            document.prev_frm.print_now.value = 0;    
            alert('Ни одно предложение не отмечено!');
            return false;
        }else{
                        // НИКОГДА не формируйте sql запросы на клиенте
            //document.prev_frm.idobj.value = idobj.join('+OR+');    
            document.prev_frm.submit();
        }
    }    


</script>


Z>По идее js собирает строку типа printlist.php?print_now=&idobj=26+OR+28+OR+30 для передачи в заголовок, чтобы отфильтровать записи. Записи выводятся, но не фильтруются. На страничке printlist.php стоит перехват:


if ($_GET['idobj']<>""){
    $idobj=$_GET['idobj'];

    $sFilter = "zag_objects.idobj = $idobj";
} else {
    $sFilter = "";
}

Я думаю, здесь ошибка.

Там дальше формируется SQL-запрос. Ошибка, видимо, в SQL-запросе


dmitriid.comGitHubLinkedIn
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.