//get filters from the filter table
function getFilter($filter = ''){
$select = "SELECT
filter,
value,
value_screen
FROM `filters`
WHERE `filter` = '".$filter."'
ORDER BY (value*1);
";
$query = mysql_query($select);
$result = array();
if (mysql_numrows($query) == 0) {
$location = "Location: ".$modx->makeUrl(intval($modx->config['error_page']));
header($location);
exit();
} else {
while ($row = mysql_fetch_object($query)) {
$result[] = $row;
}
}
return $result;
}Example code of what i used to use, now want to "translate" to xPDO (there's approx. 40 of functions done in similar way that i want convert, this example is a very small one)
//get filters from the filter table function getFilter($filter = ''){ $select = "SELECT filter, value, value_screen FROM `filters` WHERE `filter` = '".$filter."' ORDER BY (value*1); "; $query = mysql_query($select); $result = array(); if (mysql_numrows($query) == 0) { $location = "Location: ".$modx->makeUrl(intval($modx->config['error_page'])); header($location); exit(); } else { while ($row = mysql_fetch_object($query)) { $result[] = $row; } } return $result; }
function getFilter($filter = '') {
$c = $modx->newQuery('Filter'); //assuming you set up the schema/model for it
$c->where(array(
'filter' => $filter,
));
$c->sortby('value');
$result = array();
foreach ($modx->getIterator('Filter, $c) as $filter) {
$result[] = $filter->toArray();
}
if (empty($result)) {
$modx->sendRedirect($modx->makeUrl($modx->getOption('error_page')));
}
return $result;
}
$filters = getFilter($filter);
foreach($filters as $k => $fields) {
echo $fields['whatever'];
}
function getFilter($filter = '') {
$c = $modx->newQuery('Filter'); //assuming you set up the schema/model for it
$c->where(array(
'filter' => $filter,
));
$c->sortby('value');
$result = $modx->getIterator('Filter, $c);
if (empty($result)) {
$modx->sendRedirect($modx->makeUrl($modx->getOption('error_page')));
}
return $result;
}
$filters = getFilter($filter);
foreach($filters as $filterObject) {
$fields = $filterObject->toArray();
echo $fields['whatever'];
}You should be able to qualify the column name in your criteria: alias.columnName
Be sure your limit is an integer and your sortby is a string (may need to be qualified as above).