root: DriverCat, зачем запросы? передавайте в hidden или в сессиях просто параметры и значения,
если уж совсем невмоготу, а потом формируйте запрос в базу.
DyaDya: Да это ерунда всё, скорее всего. Проверьте скорость выполнения кода, формирующего ваш запрос в скрипте...
Если так уж хочется где-то хранить готовый запрос, то может в сессию его запихивать или подключить кеширование? Но всё равно, лучше нормально обрабатывать поступающие данные и формировать соответствующие SQL-запросы.
Alexius: Ну если вникнуть в запросы, то естественно так:
SELECT * FROM objects AS a LEFT JOIN regions AS r ON r.id = a.metro LEFT JOIN highways AS h ON h.id = a.street WHERE type='Земля' AND oper='Аренда' AND ((area_min>='0.2' AND area_max<='2.5') OR (area_max<='2.5' AND area_min>='2.5') OR (area_min<='0.2' AND area_max>='2.5')) AND highway!='Новорязанское'
Alexius: Хотел предложить использовать оператор EXCEPT не вникая в запросы, оказалось что mysql до сих пор не поддерживает его😒 Предлагается использовать извращения вроде этих..
Это мне тогда проще просто перечислить id которые уже нашлись - рабоать будет быстрее. Думал как-то более гибко это можно решить... Но все равно спасибо!
Снес эту прогу, переставил новый IE 8 со всеми обновлениями (у меня лицензия XP), в IE этот код, который в мануале
session_start(); if (!isset($_SESSION['counter'])) $_SESSION['counter']=0; echo "Вы обновили эту страницу ".$_SESSION['counter']++." раз. "; echo "<br><a href=".$_SERVER['PHP_SELF'].">обновить";
не работает.
Не приложу ума что может быть. Помогите, пожалуйста.
Разобрался: где то вычитал, что если в имени тестового домена есть нижнее подчеркивание, сессии в IE не работают. Помогло. IE - зло!
В таком случае получается, что я как бы заново объявляю переменную и данные все пропадают, хотя и ошибка тоже. Вот в чем и вопрос - как "напомнить" IE что это массив, не потерев данные???
DriverCat добавил 10.09.2010 в 13:40
Сейчас создал тестовый файл с кодом:
<?php
session_start();
if (!isset($_SESSION['counter'])) $_SESSION['counter']=0;
echo "Вы обновили эту страницу ".$_SESSION['counter']++." раз. ";
echo "<br><a href=".$_SERVER['PHP_SELF'].">обновить";
?>
чтобы проверить вообще как сессии работают, оказывается вообще в IE сессии не работают. Использую IE из набора multiple IE . Может это из-за этого???
DriverCat, зачем запросы? передавайте в hidden или в сессиях просто параметры и значения,
если уж совсем невмоготу, а потом формируйте запрос в базу.
ОК , уже так и переделал.
Простите, либо вы знаете толк в извращениях, либо вы толстый тролль 🚬
SQL запросы нормальные люди не хранят ни в hidden, ни в сессиях.
Попрошу без оскорблений. Форум на то и форум, чтобы задавать вопросы. Хочется узнать мнение людей. Даже если для вас вопрос кажется абсурдным.
Да это ерунда всё, скорее всего. Проверьте скорость выполнения кода, формирующего ваш запрос в скрипте...
Если так уж хочется где-то хранить готовый запрос, то может в сессию его запихивать или подключить кеширование? Но всё равно, лучше нормально обрабатывать поступающие данные и формировать соответствующие SQL-запросы.
А в сессии хранить насколько опасно?
А зачем вам так сильно потребовалось хранить запрос в хиддене?
экономия ресурсов при повторном обращении к скрипту, там просто много параметров и запрос сложно формируется... но безопасность естественно важнее!
Понял, спасибо!
Ну если вникнуть в запросы, то естественно так:
Спасибо, туплю!!!
Хотел предложить использовать оператор EXCEPT не вникая в запросы, оказалось что mysql до сих пор не поддерживает его😒 Предлагается использовать извращения вроде этих..
Это мне тогда проще просто перечислить id которые уже нашлись - рабоать будет быстрее. Думал как-то более гибко это можно решить... Но все равно спасибо!
Попробуйте так:
SELECT DISTINCT * FROM objects AS ...
Вы немного не поняли - у меня два разных запроса. Если первый не дал мне 3 строчек, я использую второй.
Вполне может и из-за этого.
Снес эту прогу, переставил новый IE 8 со всеми обновлениями (у меня лицензия XP), в IE этот код, который в мануале
не работает.
Не приложу ума что может быть. Помогите, пожалуйста.
Разобрался: где то вычитал, что если в имени тестового домена есть нижнее подчеркивание, сессии в IE не работают. Помогло. IE - зло!
Попробуйте перед циклом сделать так:
$_SESSION['print']=array();
В таком случае получается, что я как бы заново объявляю переменную и данные все пропадают, хотя и ошибка тоже. Вот в чем и вопрос - как "напомнить" IE что это массив, не потерев данные???
DriverCat добавил 10.09.2010 в 13:40
Сейчас создал тестовый файл с кодом:
чтобы проверить вообще как сессии работают, оказывается вообще в IE сессии не работают. Использую IE из набора multiple IE . Может это из-за этого???