udaya
udaya

Reputation: 9788

How to get the result of a query with values in a array?

This is my function where i fetch my results from database

function Prof_Viewer($MemberId)
{
   $query = $this->db->query("SELECT distinct(t1.dProfileId) as prof
   FROM tbl_profile_viewer as t1
   JOIN tbl_login as t2
   WHERE t1.dProfileViwerId='$MemberId'");
if($query->num_rows > 0)
  {
    foreach($query->result() as $row)
     {
       echo  $row->prof;//i am receiving many values here
        $query1 = $this->db->query("SELECT distinct(t3.dUser_name),t2.dPath,t3.dCreatedDate
                                      FROM tbl_login as t3
                                      JOIN tbl_profile_viewer as t1,
                                      tbl_member_details as t2
                                       WHERE t3.dMember_Id = '$row->prof'
                                      AND t2.dMember_Id ='$row->prof'");
     }
      return $query1->result_array();
  }
}

As commented above i receive many values while echo the variable $row->prof; say i have values such as 1 2 and 3....... Even if i have these three values my 'query1' takes only the last value .so i have only one result i want the query to be executed for 1 and 2 also how to Achieve that

Upvotes: 0

Views: 152

Answers (2)

Thomas Winsnes
Thomas Winsnes

Reputation: 1961

I'm assuming you're using mysqli here.
Result_fetch_array() will do what you want
https://www.php.net/manual/en/mysqli-result.fetch-array.php

Upvotes: 0

quantumSoup
quantumSoup

Reputation: 28192

You can just use PHP's explode() to convert your string into an array. For example:

<?php
$str = 'one|two|three|four';

// positive limit
print_r(explode('|', $str));

// gives you an array:

Array
(
    [0] => one
    [1] => two
    [2] => three
    [3] => four
)

?>

But I think you would be better off if you learned how to do JOIN's:

http://en.wikipedia.org/wiki/Join_(SQL)

Upvotes: 1

Related Questions