Re: Getting mysql_query results into an array
| From: | Jochem Maas | Date: | Wed, 14 Feb 2007 19:02:36 +0000 |
| Subject: | Re: Getting mysql_query results into an array | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-248883@lists.php.net to get a copy of this message | ||
Bill Guion wrote:
> At 6:22 PM -0600 2/13/07, Richard Lynch wrote:
>
>>
>> The most efficient way is "Don't do that." :-)
>>
>> Simply loop through the results and do whatever you want to do with
>> them, and don't put them into an array at all.
>>
>> This question has appeared before, and usually breaks down to one of
>> these scenarios:
>>
>> #1
>
> snip 1
>
>>
>> #2
>
> snip 2
>
>>
>> #2 does occasionally have an exception to the rule, where the SQL
>> query is nasty and the PHP is fast and easy, but that's awfully rare.
>>
>>
>
> How about scenario #3: I wish to output my data in (for example) three
> columns, as a phone book does. To make the example simple, assume 15
> data points. I wish the output to look like
>
> 1 6 11
> 2 7 12
> 3 8 13
> 4 9 14
> 5 10 15
>
> So when I'm outputting row 1, I need data points 1, 6, and 11. Isn't it
> easier to generate the query, put in array, and output the rows from the
> array? Keep in mind, the number of data points might be variable, the
> constraints being n columns with approximately the same number of data
> point in each column.
it not beyond the possible to output 3 blocks in series and use CSS to
visually style the information according to the N-column layout you desire.
given that what you describe is pure layout I don't think it hold up in theory,
in practice your are often going to want to use a table to avoid a bunch of headaches
... then again a fancy bit of javascript could be used to rewrite the dom
on the client side (i.e. build an N-column table/layout using blocks/elements of information
that has been output serially ... then again that raises the issue of usability
with regard to using javascript.
.. just a thought.
>
> -----===== Bill =====-----