$_GET[]; - тут хранится инфа о задействованных полях, которые используются в поиске по базе
$config[]; - тут инфа(т.е. конфигурационный файл) структура базы данных
нужно эти два массива сравнить, и те поля, которые совпадают использовать в SELECTe запросе бд
пока что мысли - два вложенных цикла, которые пробегают весь массив, но нету представлений куда складывать инфу о совпавших полях, а потом как вставить все это дело в селект запрос
Спустя 7 минут, 17 секунд (18.08.2010 - 02:23) FatCat написал(а):
Инпуты покажите; и хоть один элемент конфига.
Спустя 32 минуты, 22 секунды (18.08.2010 - 02:56) mamant написал(а):
<field namebd="id" value=""/>
<field namebd="name" value=""/>
<field namebd="capacity" value=""/>
<field namebd="department" value=""/>
<field namebd="flag" value="0"/>
<field namebd="building">
<value value="1" name="ГУК"/>
<value value="2" name="УЛК"/>
<value value="3" name="Э"/>
</field>
</config>
инпуты:
<form action="{href-to-dummy}/search" method="GET">
<div>
<div style="vertical-align:0px;">
размер аудитории (не менее) <input type="text" name="capacity" size="5" id="capacity"/>
</div>
</div>
<br/>
этаж<div class="uniq5" style="display:inline;">
<input type="text" name="floor[]" size="5" id="floor"/><!-- "SELECT .. WHERE floor IN (". join(' , ', $_GET['floor']).");" -->
<img class= "addfield" title="добавить строчку" src="plus.png" onclick="" />
<img class= "delfield" title="удалить строчку" src="minus.png" />
</div>
<br/>
<br/>
корпус<select name="bulding" multiple="true" id="bulding">
<xsl:for-each select="$buldAUD">
<option value='{@aud}'>
<xsl:variable name="buildAUD" select="@aud"/>
<xsl:value-of select="$buldings[@num=$buildAUD]"/>
</option>
</xsl:for-each>
</select>
кафедра<select name="department" multiple="true" id="department">
<xsl:for-each select="$departAUD">
<option value='{@daud}'>
<xsl:variable name="departAUD" select="@daud"/>
<xsl:value-of select="$departments[@num=$departAUD]"/>
</option>
</xsl:for-each>
</select>
<br/>
<br/>
<input type = "submit" value = "Показать результаты" />
</form>
Спустя 36 минут, 54 секунды (18.08.2010 - 03:33) FatCat написал(а):
У Вас неоднородные массивы.
Не вижу простого решения.
Не вижу простого решения.
Спустя 3 часа, 58 минут, 20 секунд (18.08.2010 - 07:31) linker написал(а):
$fields_get = array_keys($_GET);$valid_fields - массив, содержащий поля, которые находятся в конфиге и готовые к употреблению.
$fields_config = array_keys($config);
$valid_fields = array_intersect($fields_get, $fields_config);
Спустя 1 месяц, 16 дней, 13 часов, 25 минут, 10 секунд (4.10.2010 - 20:56) Denhell написал(а):
linker, а как после этого в массиве $valid_fields сделать авто индексацию элементов? Т.е. чтобы первому найденному пересекающемуся элементу соответствовал индекс 0, следующему 1 и т.д.
Спустя 19 минут, 54 секунды (4.10.2010 - 21:16) linker написал(а):
$fields_get = array_keys($_GET);
$fields_config = array_keys($config);
$valid_fields = array_values(array_intersect($fields_get, $fields_config));
Спустя 1 час, 11 минут, 16 секунд (4.10.2010 - 22:27) Denhell написал(а):
Спасибо огромное! как наберу 10 постов, обязательно плюсик поставлю!
_____________