Здравствуйте, Mamut, Вы писали:
M>1. Никогда. нет НИКОГДА не формируйте sql в запросе
M>2.
Не буду.
M>$filter = '';
M>foreach($_REQUEST['key'] as $objid)
M>{
M> if(is_numeric($objid))
M> {
M> $filter .= "$objid OR ";
M> }
M>}
M>[/php]
Вот над этим можно поработать. Хотя выдает ошибку Warning: Invalid argument supplied for foreach()
M>После этого изменяем код:
M>M><script language="JavaScript" type="text/javascript">
M> // Показать выделенные
M> function ShowOffers(print){
M> // поскипано
M> if ( idobj.length < 1 ) {
M> document.prev_frm.print_now.value = 0;
M> alert('Ни одно предложение не отмечено!');
M> return false;
M> }else{
M> // НИКОГДА не формируйте sql запросы на клиенте
M> //document.prev_frm.idobj.value = idobj.join('+OR+');
M> document.prev_frm.submit();
M> }
M> }
M></script>
M>
Не работает. НЕ реагирует на нажатие на ссылку.
M>if ($_GET['idobj']<>""){
M> $idobj=$_GET['idobj'];
M> $sFilter = "zag_objects.idobj = $idobj";
M>} else {
M> $sFilter = "";
M>}
M>
M>Там дальше формируется SQL-запрос. Ошибка, видимо, в SQL-запросе
Вот так выглядит запрос в моем варианте:
Failed to execute SQL: SELECT photo.small, photo.big, photo.pos, zag_objects.idnaznacheniya, zag_objects.idnaspunkt,
zag_objects.idrajon, zag_objects.idregion, zag_objects.idnapravleniya, zag_objects.idshosse, zag_objects.udalennost,
zag_objects.idedismudalennosti, zag_objects.obschaya, zag_objects.idedizmploschady, zag_objects.ploschaducastka,
zag_objects.idedizmploschady2, zag_objects.idvidasdelky, zag_objects.cena, zag_objects.idedizmceny, zag_objects.telephon1,
zag_objects.telephon2, zag_objects.fiosotrudnika, zag_objects.datavneseniya, zag_objects.mestoraspologenie,
zag_objects.techinfo, zag_objects.terrainfo, zag_objects.prochee, zag_objects.napervuyu, zag_objects.publicate,
zag_objects.gilaya, zag_objects.kuhnya, zag_objects.etagnost, zag_objects.idtipdoma, zag_objects.komnat,
zag_objects.pokomnatam, zag_objects.idobj FROM photo LEFT OUTER JOIN zag_objects ON (photo.idobj = zag_objects.idobj)
WHERE ((zag_objects.publicate = -1) AND (photo.pos = 1)) AND (zag_objects.idobj = 29 OR 34)
AND (((zag_objects.idnaznacheniya = 55)))) GROUP BY idobj. Error: You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax to use near ')
GROUP BY idobj' at line 1
Базовая часть строки SQL формируется в конфигурации, а на клиенте собирается Where в зависимости от выбора клиента.