0

I am trying to get multiple columns data in a array fromate form data base like for example

[{"id":"3","category":"Name","text":"text with some data","image":"http:\/\/examole.net\/folder\/images\/category1.jpg"},{"id":"4","category":"Name","text":"text with some data","image":"http:\/\/examole.net\/folder\/images\/category1.jpg"}]

using for each statement i am not able to do it as a json response

$response = array();
if(isset($_REQUEST['action']) && $_REQUEST['action']=='test'){
        $query="select * from exampledb where id='".$db->escape($_REQUEST['id'])."'";
        $num= $db->num_rows($query);          
        if($num)
        {
            $rows = $db->get_results($query);

            foreach($rows as $row1) { 

                $response['id'] = $row1['id'];
                $response['category'] = $row1['category'];
                $response['text'] = $row1['text'];
                $response['image'] = $row1['image'];
            }       
        }
        else{
            $response['message']='No user Found';
            $response['status']='fail';
        }

    }
6
  • json_encode() is what you're looking for. Commented Feb 6, 2017 at 18:06
  • thanks for the reply can you share me an example Commented Feb 6, 2017 at 18:08
  • What result do you get? Commented Feb 6, 2017 at 18:10
  • @HK007 just the last columns data Commented Feb 6, 2017 at 18:17
  • there are 4 rows data that needs to be shown but i am getting only one last rows {"id":"4","category":"90","text":"4","image":"Test4"} Commented Feb 6, 2017 at 18:21

1 Answer 1

3

after your else

else{
            $response['message']='No user Found';
            $response['status']='fail';
        }

echo json_encode($response) //<---- here convert array to json text

PHP json_encode

UPDATE

foreach($rows as $k=>$row1) { //add index $k to use an automatic autoincrement for the key
//and put it inside each fields
                $response[$k]['id'] = $row1['id'];
                $response[$k]['category'][] = $row1['category'];
                $response[$k]['text'] = $row1['text'];
                $response[$k]['image'] = $row1['image'];
            }   
Sign up to request clarification or add additional context in comments.

3 Comments

can you post the json response ?
{"id":"4","category":"90","text":"4","image":"Test4"}

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.