0


I always struggle with Array to JSON formatting. I am using a selectbox plugin from TexoTela. The plugin requires a json structure as:

{
    "ajax1": "AJAX option 1",
    "ajax2": "AJAX option 2",
    "ajax3": "AJAX option 3"
}  

My php code:

    function get_selectfield_list($col, $table)
    {
        $location_list = array();

        //create an sql string and set it to the $sql variable
        $sql = "SELECT id, $col FROM $table";

        //form the sql query and set it to the $query variable
        $query = $this->db->query($sql);

        //loop through the result_array and set the results to the $location_list array
        foreach ($query->result_array() as $row)
        {
            $value = $row['id']; //set the database table id to to $value variable
            $text = $row[$col]; //set the the $string value to the $text variable
            $location_list = array($value => $text); //form the $location_list array with the the $value and $text values
        }

        echo json_encode($location_list); //convert the $location_list array into a json object and return it.                              
    }  

My PHP code returns {"4":"chickenpen 4"}

Instead of {"4":"chickenpen 4","5":"chickenpen 5", etc....}

I think that is due to the code: $location_list = array($value => $text); Every time the foreach loops it creates a new array. How do I format the array to output all the results in the foreach instead of the last result?

-Rich

1 Answer 1

5
    $location_list[$value] = $text;
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.