0

I got this error and here's my code I'm trying to display a table with a linked title but I tried to use pagination and I got this error

foreach ($actor as $projects ) {
       echo '<tr><td><a href="'.
       base_url('show_project?id='.
       $projects['proj_id']).
       '">'.
       $projects['title'].
       '</td><td>'.
       $projects['abbrev'].
       '</td><td>'.
       date('F d, Y (h:i A)', strtotime($projects['date_uploaded'])).
       '</td><td>'.
       $projects['professor'].
       '</td></tr>'
       ;
    }

2 Answers2

0

you should access by ->

foreach ($actor as $projects) {
    echo '<tr><td><a href="' .
    base_url('show_project?id=' .
            $projects->proj_id) .
    '">' .
    $projects->title .
    '</td><td>' .
    $projects->abbrev .
    '</td><td>' .
    date('F d, Y (h:i A)', strtotime($projects->date_uploaded)) .
    '</td><td>' .
    $projects->professor .
    '</td></tr>'
    ;
}
urfusion
  • 5,528
  • 5
  • 50
  • 87
0

Your main problem is you have an object instead of an array. To fix that access your object like so $projects->title.

I have cleaned up the code, mainly using "$object" interpreted strings.

// your data should be changed to something like foreach($actor->projects as 
$project) to make more sense
foreach ($actor as $project ) {
    echo generateTableRow($project);
    }

function generateTableRow($project)
{
    $projectUrl = base_url("show_project?id=$project->project_id");
    $date = date('F d, Y (h:i A)', strtotime($project->date_uploaded));

    $tableRow =  '<tr>';
    $tableRow .= "<td><a href=\"$projectUrl\">$project->title</td>"
    $tableRow .= "<td>$project->abbrev</td>";
    $tableRow .= "<td>$date</td>";
    $tableRow .= "<td>$project->professor</td>";
    $tableRow .= '</tr>';

    return $tableRow;
}
mrhn
  • 17,961
  • 4
  • 27
  • 46