Welcome Guest, Not a member yet? Register   Sign In
multiple query results in a loop to be passed in a view
#9

[eluser]rei[/eluser]
It works! Thank you sir...

Here is my new code:

Code:
function get_all_products()
    {

        $query = $this->db->query('SELECT * FROM products');

        $option_keys_query =  $this->db->query('     SELECT *
                                                    FROM option_keys
                                                    WHERE prod_id
                                                    IN ( 5, 6 )     ');

        $option_values_query =  $this->db->query('     SELECT *
                                                    FROM option_values
                                                    WHERE option_id
                                                    IN ( 1, 3, 4, 6, 7 )     ');


        $products_array = array(); // array the will hold all the products



        // option values
         foreach ($option_values_query->result() as $option_value)
         {
              
            $option_values[ $option_value->option_id ][] = $option_value;
            
        }
        // print_r($option_values);
      




        // option keys
       foreach ($option_keys_query->result() as $option_key)
       {
            // associate the option values to their corresponding option_keys
            $option_key->option_values = isset($option_values[$option_key->id]) ? $option_values[$option_key->id] : '';

            $option_keys[ $option_key->prod_id ][] = $option_key;
       }

        // print_r($option_keys);




        // products
       foreach ($query->result() as $product) {
            
            // check if there are available option keys related to this product id
            // if there is none, do not assign a option_key to the product
            if (isset($option_keys[$product->id]))
            {
                $product->option_keys = isset($option_keys[$product->id]) ? $option_keys[$product->id] : '';
            }
            
            // print_r($product);

            $products_array[] = $product;
            
       }

       print_r($products_array);

    
    
        
    }


This is the output of the products array for 1 product:

Code:
Array
(
    [0] => stdClass Object
        (
            [id] => 5
            [name] => nike tshirt
            [price] => 10
            [option_keys] => Array
                (
                    [0] => stdClass Object
                        (
                            [id] => 1
                            [prod_id] => 5
                            [option_key] => size
                            [option_values] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [id] => 1
                                            [option_id] => 1
                                            [option_value] => small
                                            [price] => 2
                                        )

                                    [1] => stdClass Object
                                        (
                                            [id] => 2
                                            [option_id] => 1
                                            [option_value] => medium
                                            [price] => 3
                                        )

                                )

                        )

                    [1] => stdClass Object
                        (
                            [id] => 3
                            [prod_id] => 5
                            [option_key] => color
                            [option_values] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [id] => 3
                                            [option_id] => 3
                                            [option_value] => red
                                            [price] => 6
                                        )

                                    [1] => stdClass Object
                                        (
                                            [id] => 4
                                            [option_id] => 3
                                            [option_value] => blue
                                            [price] => 4
                                        )

                                )

                        )

                    [2] => stdClass Object
                        (
                            [id] => 7
                            [prod_id] => 5
                            [option_key] => font
                            [option_values] => Array
                                (
                                    [0] => stdClass Object
                                        (
                                            [id] => 9
                                            [option_id] => 7
                                            [option_value] => italic
                                            [price] => 3
                                        )

                                    [1] => stdClass Object
                                        (
                                            [id] => 10
                                            [option_id] => 7
                                            [option_value] => bold
                                            [price] => 250
                                        )

                                )

                        )

                )

        )

Now the problem is how can I display the contents of that array.hmmm


Messages In This Thread
multiple query results in a loop to be passed in a view - by El Forum - 08-21-2012, 06:52 AM
multiple query results in a loop to be passed in a view - by El Forum - 08-21-2012, 07:21 AM
multiple query results in a loop to be passed in a view - by El Forum - 08-21-2012, 03:53 PM
multiple query results in a loop to be passed in a view - by El Forum - 08-23-2012, 05:18 PM
multiple query results in a loop to be passed in a view - by El Forum - 08-23-2012, 05:30 PM
multiple query results in a loop to be passed in a view - by El Forum - 08-23-2012, 05:54 PM
multiple query results in a loop to be passed in a view - by El Forum - 08-23-2012, 06:02 PM
multiple query results in a loop to be passed in a view - by El Forum - 08-23-2012, 06:55 PM
multiple query results in a loop to be passed in a view - by El Forum - 08-23-2012, 07:39 PM
multiple query results in a loop to be passed in a view - by El Forum - 08-24-2012, 07:27 AM



Theme © iAndrew 2016 - Forum software by © MyBB