FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » php+html mixup in displaying multidimensional array in html tables
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: php+html mixup in displaying multidimensional array in html tables [message #176866 is a reply to message #176865] Sun, 29 January 2012 20:09 Go to previous messageGo to previous message
Jerry Stuckle is currently offline  Jerry Stuckle
Messages: 2598
Registered: September 2010
Karma:
Senior Member
On 1/29/2012 2:58 PM, Denis McMahon wrote:
> On Sat, 28 Jan 2012 15:14:51 -0500, Jerry Stuckle wrote:
>
>> On 1/28/2012 2:28 PM, Denis McMahon wrote:
>>> On Sat, 28 Jan 2012 12:24:14 +0100, John wrote:
>>>
>>>> I am new to this problem and shall be very grateful for any hint on
>>>> how to a´void an unreadable code-salad, when trying to display a
>>>> bidimensional array (thus with two indexes) on a html table. I refer
>>>> to the continuous shifting between<?php and<html> every two lines.
>>>>
>>>> Is there a method which is 'quick an easy' to do the job ?
>>>
>>> You mean something like:
>>>
>>> echo "<table>\n";
>>> foreach ($arr as $line) {
>>> echo "<tr>\n";
>>> foreach ($line as $cell) {
>>> echo "<td>$cell</td>\n";
>>> }
>>> echo "</tr>\n";
>>> }
>>> echo "</table>\n";
>>>
>>> This is a very crude solution, makes several assumptions, and has no
>>> testing of or handling for unexpected conditions. Depending on the data
>>> you feed it, it may crash or generate invalid markup, but under some
>>> conditions it might instead generate a valid table.
>>>
>>> The wonders of usenet will probably screw the formatting too. I can't
>>> do much about that.
>
>> What is crude about it? What assumptions (other than the data does not
>> need to be run though htmlentities() or htmlspecialchars(), which is
>> quite easy to do)?
>
> 1) If the sub arrays don't all contain the same number of elements, you
> could get a table with different numbers of cells in different rows.
> Ideally you ought to catch that somehow. One of the principles I was
> taught was about being liberal in what you accept as input and specific
> in what you generate as output.
>

This is from a MySQL query - multiple rows, all with the same number of
columns.

> 2) What if an array member is a binary object or a class?
>

See above.

> Ultimately my solution is probably only suited to 2d arrays containing
> the same number of elements in each sub-array, and where each element in
> a sub-array is either an html safe string or a numeric value.
>

See above.

>> And what would crash?
>
> I have no idea what it will do if you feed it a binary object or a class
> as a sub-array element, but I suspect it may crash. Whatever it does do,
> from the point of view that the desired behaviour is that of "generating
> meaningful html", I doubt it would work as desired if eg
>

See above.

> $arr[3][2] = imagecreatetruecolor(640,480);
> $arr[1][3] = fopen("/path/file.type","r");
>
> etc etc
>
> Rgds
>
> Denis McMahon

Read the entire post. None of your arguments are valid.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Fast/Easy way to extract a column from multi-dimensional array?
Next Topic: Freelance PHP Developer
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Mon Nov 25 02:00:06 GMT 2024

Total time taken to generate the page: 0.04800 seconds