You are here: Re: Sorting results of odbc_exec??? « PHP Programming Language « IT news, forums, messages
Re: Sorting results of odbc_exec???

Posted by Erwin Moller on 08/26/05 16:32

Karin Jensen wrote:

> Erwin Moller wrote:
>>Karin Jensen wrote:
>>> Hi
>>> I am running a PHP program that connects to an Access 2000
>>> database via ODBC:
>>> $results = odbc_exec($connection_id, $sql_select);
>>> Is it possible to sort the contents of $results? I wish to use a
>>> regex-based sort order that you can't do in Access 2000* SQL
>>> with "ORDER BY".
>>
>> Hi,
>>
>> PHP is so friendly, you can write your own comparision-functions,
>> which you can let PHP call to define how to sort.
>> :-)
>>
>> Have a look at usort
>> http://nl2.php.net/usort
>>
>> See also uasort(), uksort().
>
> Thanks, Erwin! Sorry to ask more, but the question I was getting at
> was whether (in my example) $results would have to be dealt with in
> a special way, as it is from an ODBC function.
>
> I am new to PHP and not sure what sort of object $results is or how
> to find out what sort of object it is.

Hi,

Yes, your $result is a special case: it is a 'resource'.
I wouldn't be surprised if you could treat it like an array after some
fiddling around, but I do not know.
Safest bet is to copy all the rows to your own array-structure, then use
that structure to do the sorting.

But a fair warning, if you have little experience with PHP and arrays in
PHP, you better take a day or two to get some experience.
PHP is very powerfull when it comes to arrays, but things can get
confusing/intimidating in the beginning.

eg: Try to create your own datastructures, using strings as keys.

$myArr["userid12"]["name"] = "john";
$myArr["userid12"]["city"] = "Amsterdam";
$myArr["userid12"]["admin"] = "N";
$myArr["userid12"]["articles"][] = 21;
$myArr["userid12"]["articles"][] = 26;

$myArr["userid23"]["name"] = "Bert";
$myArr["userid23"]["city"] = "Los Angeles";
$myArr["userid23"]["admin"] = "Y";
$myArr["userid23"]["articles"][] = 17;

etc.

PHP can use the keys ("useridxx") as material to do the sorting AND keep the
underlying arrays coupled to the keys.

I (and others) find that kind of datarepresentation extremely powerfull to
use and easy to implement.
(Note: My example is a bit over the top, but illustrates the use of
associative arrays to create/store all kind of datastructures.)

Well, just read up at php.net about arrays, it is all there. :-)

Good luck.

Regards,
Erwin Moller

>
> PHP clearly knows that $results is ODBC-derived, as you have to
> extract data/info from it using special functions (odbc_fetch_row,
> odbc_result and so on). I was wondering if this affected how you
> would sort it.
>
> Many thanks,
>
> Karin

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация