Wednesday, November 18, 2009

p4a alphabet sorter with text search

i wrote this module with p4a and decided to share. its an alphabet sorter.

function textSearchWithcreateAlphabeticalSorter(){

$alphabet_array = array();

$alphabet_array[] = 'A';
$alphabet_array[] = 'B';
$alphabet_array[] = 'C';
$alphabet_array[] = 'D';
$alphabet_array[] = 'E';
$alphabet_array[] = 'F';
$alphabet_array[] = 'G';
$alphabet_array[] = 'H';
$alphabet_array[] = 'I';
$alphabet_array[] = 'J';
$alphabet_array[] = 'K';
$alphabet_array[] = 'L';
$alphabet_array[] = 'M';
$alphabet_array[] = 'N';
$alphabet_array[] = 'O';
$alphabet_array[] = 'P';
$alphabet_array[] = 'Q';
$alphabet_array[] = 'R';
$alphabet_array[] = 'S';
$alphabet_array[] = 'T';
$alphabet_array[] = 'U';
$alphabet_array[] = 'V';
$alphabet_array[] = 'W';
$alphabet_array[] = 'X';
$alphabet_array[] = 'Y';
$alphabet_array[] = 'Z';

$frmeAlphabet = & $this->build('p4a_frame', 'frmeAlphabet');

$name = & $this->build('p4a_field', 'txtName');
$name->setLabel('Horse Name');
$name->addAction('onReturnPress');
$this->intercept($name, "onReturnPress", "searchHorses");

foreach ($alphabet_array as $letter){
//echo $letter;
//echo 'btn'.$letter;exit;
$btn = & $this->build('p4a_button', 'btn'.$letter);
$btn->setLabel($letter);
$btn->setValue($letter);
$btn->setBgcolor('white');
$btn->setStyleProperty('border', '0');
$frmeAlphabet->anchorLeft($btn);
//$btn->addAction('onClick');
$this->intercept($btn, 'onClick', 'sortBySelectedButtonValue');
}

$frmeMain = & $this->build('p4a_frame', 'frmeMain');
$frmeMain->anchor($name);
$frmeMain->anchor($frmeAlphabet);
return $frmeMain;
}

function searchHorses(){

$horse_name = & $this->txtName->getNewValue();

$where = " 0=0 and horse_name like '%$horse_name%'";
$this->horseSrc->setWhere($where);
}

function sortBySelectedButtonValue($letter){
//echo $letter->getValue();
$selectedLetter = $letter->getValue();
//echo $this->getActiveObject();exit;

//$query = "select * from horses where 0=0 and horse_name like '$selectedLetter%'";
$where = "0=0 and horse_name like '$selectedLetter%'";
//$this->horseSrc->setQuery($query);
$this->horseSrc->setWhere($where);
//$this->horseSrc->setWhere($query);

}

No comments: