Welcome Guest, Not a member yet? Register   Sign In
Simple foreach loop not working (code)
#1

[eluser]David Mitchell[/eluser]
Controller
Code:
//Home
function index()

/////////////////////////////Gets Message Data//////////////////////////////////////
  $userid = $this->session->userdata('id');
  $this->db->select('*')->from('message')->where('user', $userid);
  $data['test'] = $this->db->get();
  /////////////////////////////////////////////////////////////////////////////////////////  
  

  $this->load->view('index', $data);
}

index.php view file
Code:
<? include("include/header.php"); ?>
  

  <?php
  if ($test->num_rows() > 0)
  {
    foreach ($test->result() as $row)
    {
     echo $row->user;
     echo $row->message;
     echo $row->created;
    }
    echo "Nothing to Display";
  }
         ?>

<? include("include/footer.php"); ?>

Its not displaying anything, and the database is working fine. Have I done something Wrong?

David
#2

[eluser]aquary[/eluser]
Not sure since it's not the way I code.

Try this:

Code:
//Home
function index()

/////////////////////////////Gets Message Data//////////////////////////////////////
  $userid = $this->session->userdata('id');
  $this->db->select('*')->from('message')->where('user', $userid);
  $data['test'] = $this->db->get()->result();
  /////////////////////////////////////////////////////////////////////////////////////////
  // you could var_dump() here to check if the returned result is good.  
  // var_dump($data['test']);
  

  $this->load->view('index', $data);
}
Code:
<? include("include/header.php"); ?>
<?
   if ($test)
   {
      foreach ($test as $row)
      {
         echo $row->user;
         echo $row->message;
         echo $row->created;
      }
   }
   else
      echo "Nothing to Display";
?>
<? include("include/footer.php"); ?>
#3

[eluser]David Mitchell[/eluser]
Thanks aquary but now it says an error for each of the echo statements:
Code:
A PHP Error was encountered
Severity: Notice
Message: Trying to get property of non-object
Filename: index.php
Line Number: 7

A PHP Error was encountered
Severity: Notice
Message: Trying to get property of non-object
Filename: index.php
Line Number: 8

A PHP Error was encountered
Severity: Notice
Message: Trying to get property of non-object
Filename: index.php
Line Number: 9

Code:
object(CI_DB_mysql_result)#15 (8) { ["conn_id"]=> resource(30) of type (mysql link persistent) ["result_id"]=> resource(38) of type (mysql result) ["result_array"]=> array(0) { } ["result_object"]=> array(0) { } ["custom_result_object"]=> array(0) { } ["current_row"]=> int(0) ["num_rows"]=> int(3) ["row_data"]=> NULL }

I dont understand.

You say that this isnt how you would code it, is there a more efficant way?

David
#4

[eluser]David Mitchell[/eluser]
Found the Problem:

Code:
echo $row->user;
echo $row->message;
echo $row->created;

should of been

Code:
echo $row['user'];
echo $row['message'];
echo $row['created'];




Theme © iAndrew 2016 - Forum software by © MyBB