[PHP] array from mysql help?

2001-07-24 Thread Jaxon

Hi,

I want to create an array like this:

$tree = array (
first  = array (stuff1, stuff2, stuff3),
second = array (stuff1, stuff2)
);


based on tree of information, stored in a database table:

level parent_cat child_cat
--
1   first   first
1   second  second
2   first   stuff1
2   first   stuff2
2   first   stuff3
2   second  stuff1
2   second  stuff2


That translates to a structure like this:


   firstsecond
 | |
 |-||  |---|
stuff1  stuff2  stuff3  stuff1  stuff2


Can someone point me towards an SQL example that would help me structure the
query, and an example of how to reference information in it once I have it?
e.g. a while list/each but for a multidimensional array?

cheers,
jaxon.


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




RE: [PHP] array from mysql help?

2001-07-24 Thread Remo Pini

To be destructive, I would use a sensible data-representation in mysql,
yours seems to suck...

something like

table x
idx as integer, auto_increment, primary key
node as text
parent as int (this points to the parent primary key)

But here is what I would do with the current data structure (recursive
stuff):

get all nodes of the current level (starting with 1): select distinct
parent_cat from table where level = the current level

this gives you all nodes...

now with each node do: select child_cat from table where level = the
current level and parent_cat = the current parent node

this gives you all children...

then increase the level and redo from start...

it is possible to wrap all that up in a query, but the handling would be
much worse and since neither the amount of levels nor the uniqueness of the
nodenames is given, that could turn out to be rather nasty.

hope this helps a little...

remo

 I want to create an array like this:

 $tree = array (
 first  = array (stuff1, stuff2, stuff3),
 second = array (stuff1, stuff2)
 );


 based on tree of information, stored in a database table:

 level parent_cat child_cat
 --
 1 first   first
 1 second  second
 2 first   stuff1
 2 first   stuff2
 2 first   stuff3
 2 second  stuff1
 2 second  stuff2


 That translates to a structure like this:


  firstsecond
| |
  |-|||---|
 stuff1  stuff2stuff3  stuff1  stuff2


 Can someone point me towards an SQL example that would help me
 structure the
 query, and an example of how to reference information in it once
 I have it?
 e.g. a while list/each but for a multidimensional array?


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]