06.30 php saved
sarahk
Tags add more
 
Note
the controller for my search, the postbox section returns an incorrect number of rows.
  1. <?php
  2. class PostalcodesController extends AppController
  3. {
  4.     var $name = 'Postalcodes';
  5.     var $uses = array('Postbox','Rural','Street','Suburb');
  6.     var $components = array('Utility');
  7.     var $layout = 'ajax';
  8.    
  9.     function search()
  10.     {
  11.         $conds = array();
  12.         $add1 = $this->Utility->checkAddress( $this->data['Membership']['postal1']);
  13.         $add2 = $this->Utility->checkAddress( $this->data['Membership']['postal2']);
  14.         $add3 = $this->Utility->checkAddress( $this->data['Membership']['postal3']);
  15.         $add4 = $this->Utility->checkAddress( $this->data['Membership']['postal4']);
  16.        
  17.        
  18.         if (substr($add1,0,2) == 'PO')
  19.         {
  20.             $conds['`Postbox`.`lobby`'] = $add2;
  21.             if (!empty($add3)) $conds['OR']['`Postbox`.`city`'] = $add3;
  22.             if (!empty($add4)) $conds['OR']['`Postbox`.`city`'] = $add4;
  23.             $this->Postbox->cacheQueries = false;
  24.             $data = $this->Postbox->findAll($conds, null, '`Postbox`.`postcode`');
  25.            
  26.         }
  27.         elseif (substr($add2,0,2) == 'RD')
  28.         {
  29.             
  30.             $bits = explode(' ', trim(substr($add2,2)));
  31.            
  32.             $rdnum = $bits[0];
  33.             $conds['`Rural`.`rd`'] = $rdnum;
  34.             $conds['OR']['`Rural`.`town`'] = $add3;
  35.             $conds['OR']['`Rural`.`town`'] = $add4;
  36.             $data = $this->Rural->findAll($conds, null, '`Rural`.`postcode`');
  37.         }
  38.         else
  39.         {
  40.             $bits = explode(' ', $add1);
  41.             $street = '';
  42.             $streetlist = array();
  43.             krsort($bits);
  44.             foreach($bits as $bit)
  45.             {
  46.                 $street$bit . ' ' . $street;
  47.                 $streetlist[] = $street;
  48.             }
  49.            
  50.             //$conds[1] = "'`Street`.`street`' in ('". implode("','", $streetlist) ."')";
  51.             $conds['`Street`.`street`'] = $streetlist;
  52.             if (!empty($add2)) $conds['OR']['`Suburb`.`suburb`'] = $add2;
  53.             if (!empty($add3)) $conds['OR']['`Suburb`.`suburb`'] = $add3;
  54.             if (!empty($add3)) $conds['OR']['`Suburb`.`area`'] = $add3;
  55.             if (!empty($add4)) $conds['OR']['`Suburb`.`area`'] = $add4;
  56.            
  57.             $data = $this->Street->findAll($conds, null, '`Suburb`.`postcode`');
  58.         }
  59.            
  60.         $this->set('data', $data);
  61.     }
  62. }
  63. ?>
Parsed in 0.137 seconds, using GeSHi 1.0.7.14

Modify this Paste