Re: Function parameters and arrays

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Frank Stanovcak wrote:
> I am trying to pass a multi dimmed array as a variable parameter to a custom 
> function to build a query for me.  Here is the basic code and what I am 
> getting.
> 
> $WhereList[0][0] = 'OESalesOrder.OrderNo';
> $WhereList[0][1] = '=';
> $WhereList[0][2] = '2272';
> $SQLString = SQLCall('OESalesOrder',$FieldList,$WhereList);
> 
> I then use a foreach in the function to process it.
> 
> $i = 0;
>   foreach(func_get_arg(2) as $WhereArray) {
>    echo $WhereArray[0][0];
>    if($i == 0) {
>     $SQLStmt .= ' ' . $WhereArray[$i][0] . ' ' . $WhereArray[$i][1] . ' ' . 
> $WhereArray[$i][2];
>     $i += 1;
>    } else {
>     $SQLStmt .= ' ' . $WhereArray[$i][0] . ' ' . $WhereArray[$i][1] . ' ' . 
> $WhereArray[$i][2] . ' ' . $WhereArray[$i][3];
>     $i += 1;
>    };
>   };
> 
> What I get when it processes is the first three letters of [0][0]
> [0][0] = O
> [0][1] = E
> [0][2] = S
> 
> Did I do something wrong, or is this not possible?  I have done an array 
> processing this way before, but not multidimmed.
> 
> Frank. 
> 
> 
> 

Something like this should do.

function SQLCall($table, $FieldList, $WhereList=array()) {

# work  with your field list...

  $where_parts = array();
  foreach($WhereList AS $cond) {
    $where_parts[] = $cond[0].' '.$cond[1].' '.$cond[2];
  }

  $WHERE = '';
  if ( count($where_parts) ) {
    $WHERE = 'WHERE ' . join(' AND ', $where_parts);
  }

# put it all together.

}

-- 
Jim Lucas

   "Some men are born to greatness, some achieve greatness,
       and some have greatness thrust upon them."

Twelfth Night, Act II, Scene V
    by William Shakespeare


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux