View Single Post
Old 10-24-2003, 03:20 AM   #1 (permalink)
seretogis
Huggles, sir?
 
seretogis's Avatar
 
Location: Seattle
[php] multi-dimensional arrays, and you!

I'm working on a photo-gallery-like project right now, and am running into some issues manipulating a multi-dimensional array. First, here's the info that I'm working with:

PHP Code:
mysqlselect from instance where gallery_id 88 order by row_number,position;
+-------------+------------+----------+------------+----------+
instance_id gallery_id image_id row_number position |
+-------------+------------+----------+------------+----------+
|          
36 |         88 |        |          |        |
|          
37 |         88 |       12 |          |        |
|          
38 |         88 |        |          |        |
|          
39 |         88 |        |          |        |
|          
40 |         88 |       11 |          |        |
|          
41 |         88 |        |          |        |
|          
42 |         88 |        |          |        |
|          
43 |         88 |        |          |        |
+-------------+------------+----------+------------+----------+
8 rows in set (0.00 sec
In "Gallery 88", there are eight images, on two different rows. The order in which they should appear is the "position". What I would like to do is dump this data into a multi-dimension array in such a format that: $row[row_number][position]['image_id'] would be the image id of the image in the first position of the first row. For example, $row[2][1]['image_id'] == 12, and is the first image of the second row.

The sql wrapper that I use returns an array of an array as the results ( $results[0-254]['column_name'] ), and what I'm currently attempting to do is to select each row, and push each row into a "rows" array, like so:

PHP Code:
    function format_instances$gallery_id ) {
        global 
$db$instance_table;

        
$next_row get_current_row$gallery_id );

        for ( 
$x=1$x $next_row$x++ ) {
            
$rows[] = $db->select_all$instance_table"WHERE gallery_id=" $gallery_id .
                                        
"AND row_number=" $x );
        }

        return 
$rows;
    } 
This doesn't seem to be working -- the result of the following code snippet is an endless loop of some sort which does not return the proper image_id value:

PHP Code:
        $gal format_instances$gallery_id );

        for ( 
$x=1$x $next_row$x++ ) {
            for ( 
$w=0$x $positions$w++ ) {
                
$image_id $gal[$x][$w]['image_id'];
                
error_log"blizzaaahh: " $image_id );
            }
        } 
It's past 6 am now (and I'm still awake), so I am probably missing something incredibly simple, but maybe I'm not? Thanks in advance.
__________________
seretogis - sieg heil
perfect little dream the kind that hurts the most, forgot how it feels well almost
no one to blame always the same, open my eyes wake up in flames
seretogis is offline  
 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73