[TYPO3-dev]  pi_exec_query with addWhere returns only one element,	what is wrong?
    Matthias Stuebner 
    news at stuebner.de
       
    Mon Nov 27 18:05:39 CET 2006
    
    
  
Hello all,
in a simple kickstarter generated extension the listput is generated via
--------- code start -------------
$res = $this->pi_exec_query('tx_TestDB_main');
while($this->internal['currentRow'] =              
                         $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res))	{
  $tRows[] = $this->pi_list_row($c);
  $c++;
}
--------- code end -------------
I want to show only certain IDs so I added a "addWhere" to pi_exec_query:
--------- code start -------------
// 1. implode $_POST['lit_uid'] into comma separated list
$comma_separated = implode(",", $_POST['lit_uid']);
// 2. Extend WHERE clause to return only selected items
$addUidList = "('".$comma_separated."')";
$addWhere = 'AND uid IN '.$addUidList;
// 3. Exec query
$res = $this->pi_exec_query('tx_TestDB_main',0,$addWhere);
--------- code end -------------
$addWhere correctly contains 'AND uid IN ("1,4,7")' and the exec_query
returns a valid result that is shown. What I wonder about is, that it shows
only the first result and not all anymore.
In the given example 'AND uid IN ("1,4,7")' the code:
--------- code start -------------
while($this->internal['currentRow'] = 
                        $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res))	{
  $tRows[] = $this->pi_list_row($c);
  $c++;
}
--------- code end -------------
shows only the item 1, items 4 and 7 are not listed.
Is there anything special to take care about when I add an addWhere clause?
-- 
br Matthias
    
    
More information about the TYPO3-dev
mailing list