Debug selection conditions
parent
5d9af6726a
commit
15a685e546
22
olap.php
22
olap.php
|
@ -75,31 +75,29 @@ class OLAP
|
|||
|
||||
$wh = array();
|
||||
$where = array();
|
||||
foreach ($request as $k => $t)
|
||||
foreach ($request as $k => $v)
|
||||
{
|
||||
if (substr($k, 0, 5) == 'type-')
|
||||
if (substr($k, 0, 6) == 'where-')
|
||||
{
|
||||
$i = substr($k, 5);
|
||||
$f = $request["field-$i"];
|
||||
$v = $request["value-$i"];
|
||||
list($t, $f) = explode('-', substr($k, 6), 2);
|
||||
$fd = self::$current_src['fielddescs'][$f];
|
||||
if (!strlen($v))
|
||||
if (!$fd || !strlen($v))
|
||||
continue;
|
||||
$wh["type-$i"] = $t;
|
||||
$wh["field-$i"] = $f;
|
||||
$wh["value-$i"] = $v;
|
||||
$wh[$k] = $v;
|
||||
if ($fd['is_time'])
|
||||
$v = Template::timestamp($v, self::$current_src['fielddefs'][$f]['format']);
|
||||
$v = Template::timestamp($v, self::$current_src['fielddescs'][$f]['format']);
|
||||
$dn = $fd['sql'];
|
||||
if (!$dn)
|
||||
$dn = $f;
|
||||
$v = mysql_ecranize($v);
|
||||
if ($t == 'eq')
|
||||
$where[] = "$dn = $v";
|
||||
elseif ($t == 'ge')
|
||||
elseif ($t == 'ge' && $fd['le_ge'])
|
||||
$where[] = "$dn >= $v";
|
||||
elseif ($t == 'le')
|
||||
elseif ($t == 'le' && $fd['le_ge'])
|
||||
$where[] = "$dn <= $v";
|
||||
else
|
||||
unset($wh[$k]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -66,25 +66,23 @@
|
|||
</table>
|
||||
Условия выборки данных:
|
||||
<table>
|
||||
<!-- SET i = "0" -->
|
||||
<!-- FOR f = fielddescs -->
|
||||
<tr><th style="text-align: left; vertical-align: top">{s f.name}</th>
|
||||
<td style="text-align: left; vertical-align: top">
|
||||
= <input type="hidden" name="field-{i}" value="{s f.id}" /><input type="hidden" name="type-{i}" value="eq" />
|
||||
=
|
||||
<!-- IF f.options -->
|
||||
<select style="width: 100px" name="value-{i}">
|
||||
<select style="width: 100px" name="where-eq-{f.id}">
|
||||
<option value="">любой</option>
|
||||
<!-- FOR o = f.options -->
|
||||
<option value="{s o.id}">{s o.name}</option>
|
||||
<option value="{s o.id}"<!-- IF eq(o.id,get(wh,concat('where-eq-',f.id))) --> selected<!-- END -->>{s o.name}</option>
|
||||
<!-- END -->
|
||||
</select>
|
||||
<!-- ELSE -->
|
||||
<input style="width: 100px" type="text" name="value-{i}" value="{s get(wh,concat('value-',i))}" />
|
||||
<input style="width: 100px" type="text" name="where-eq-{f.id}" value="{s get(wh,concat('where-eq-',f.id))}" />
|
||||
<!-- END -->
|
||||
<!-- SET i = add(i,1) -->
|
||||
<!-- IF f.le_ge -->
|
||||
или ≥ <input type="hidden" name="field-{i}" value="{s f.id}" /><input type="hidden" name="type-{i}" value="ge" /><input style="width: 100px" type="text" name="value-{i}" value="{s get(wh,concat('value-',i))}" /><!-- SET i = add(i,1) -->
|
||||
и ≤ <input type="hidden" name="field-{i}" value="{s f.id}" /><input type="hidden" name="type-{i}" value="le" /><input style="width: 100px" type="text" name="value-{i}" value="{s get(wh,concat('value-',i))}" /><!-- SET i = add(i,1) -->
|
||||
или ≥ <input style="width: 100px" type="text" name="where-ge-{f.id}" value="{s get(wh,concat('where-ge-',f.id))}" />
|
||||
и ≤ <input style="width: 100px" type="text" name="where-le-{f.id}" value="{s get(wh,concat('where-le-',f.id))}" />
|
||||
<!-- END -->
|
||||
<!-- IF f.is_time --> (YYYY-MM-DD HH:MM:SS)<!-- END -->
|
||||
{f.comment}
|
||||
|
|
Loading…
Reference in New Issue