Tilted Forum Project Discussion Community

Tilted Forum Project Discussion Community (https://thetfp.com/tfp/)
-   Tilted Technology (https://thetfp.com/tfp/tilted-technology/)
-   -   [php] multi-dimensional arrays, and you! (https://thetfp.com/tfp/tilted-technology/32951-php-multi-dimensional-arrays-you.html)

seretogis 10-24-2003 03:20 AM

[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 10-24-2003 01:48 PM

Yeah, it was simple.. The inner for loop was messed up :P

It was: for ( $w=0; $x < $positions; $w++ ) {

It needed to be: for ( $w=0; $w < $positions; $w++ ) {

devnull 10-25-2003 12:48 AM

glad I could help!! ... errr... j/k, hehe.

cheerios 10-25-2003 07:44 AM

heh, hate it when that happens. as good as a 100 line method to get a value out of a file. and it worked. only I forgot to set it into the member value. so when i accessed it, i got a big fat NULL! ;)

devnull 10-25-2003 09:58 AM

I've done the same once where I had 6 seperate if/else if statements and instead of using '==' to check their value, I had put '=' by accident. Three hours and numerous outbursts later, I finally saw the mistake and fell on my floor laughing...


All times are GMT -8. The time now is 03:36 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0 PL2
© 2002-2012 Tilted Forum Project


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