2013-06-04 7 views
0

То, что я пытаюсь сделать в ColdFusion, cfscript перебирает набор запросов переменных и делает некоторую оценку, которую я могу сделать легко на PHP, но я столкнулся с проблемой перевода в coldfusion cfscript , потому что кажется, я не могу построить динамический, если операторИтерация через переменные запроса запроса url по динамической оценке

PHP

for ($i=0 ; $i<count($aColumns) ; $i++) 
    { 
     if ($_GET['bSearchable_'.$i] == "true" && $_GET['sSearch_'.$i] != '') 
     { 
      //If there was no where clause 
      if ($sWhere == "") 
      { 
       $sWhere = "WHERE "; 
      } 
      else 
      { 
       $sWhere .= " AND "; 
      } 

Я попытался это, ошибочный из

for (i=1; i<= iColumnsLen; i++) { 
    if (rc.bSearchable_&i EQ true and rc.sSearch&i NEQ '') { 
      if (sWhere EQ "") 
      { sWhere = " WHERE "; } 
      else 
      { sWhere &= " AND ";} 
    }   
} 

также попытался изменить, если заявление линии к этому, так же

if (rc.bSearchable_+i EQ true and rc.sSearch+i NEQ '') { 

наконец я пытался строить строку и с помощью этого, я знал, что не работал бы, но я думал, что я хотел бы дать ему шанс, ошибка не может преобразовать вар к булева

for (i=1; i<= iColumnsLen; i++) { 
var iterator = "rc.bSearchable_"&i&" EQ true and rc.sSearch_"&i&" NEQ ''"; 
    if (#iterator#) { 

Вот статический ColdFusion без итерации, что я желающему сделать проблемно

if (rc.bSearchable_1 EQ true and rc.sSearch_1 NEQ '') { 
      if (sWhere EQ "") 
      { sWhere = " WHERE "; } 
      else 
      { sWhere &= " AND ";} 
    }   
    if (rc.bSearchable_2 EQ true and rc.sSearch_2 NEQ '') { 
      if (sWhere EQ "") 
      { sWhere = " WHERE "; } 
      else 
      { sWhere &= " AND ";} 
    } 
    if (rc.bSearchable_3 EQ true and rc.sSearch_3 NEQ '') { 
      if (sWhere EQ "") 
      { sWhere = " WHERE "; } 
      else 
      { sWhere &= " AND ";}          
    } 

любая помощь будет очень признателен

+3

* Я попробовал это, ошибочный из *. Что такое сообщение об ошибке? FYI: область «URL» - это структура. Вы можете динамически получить доступ к значениям, используя ассоциативную запись массива: ie 'url [" someFixedName "& counterVariable]'. – Leigh

+0

.. то же самое относится к любой структуре. – Leigh

ответ

3

Как говорит Ли, вам просто нужно обратиться к динамическим столбцам, как это:

rc["bSearchable_" & i] 
rc["sSearch_" & i]