Welcome Guest, Not a member yet? Register   Sign In
If data exists in the field print, else don't
#11

[eluser]zebake[/eluser]
You guys have gotten me closer, but I'm still not quite there.

Error I am currently receiving:
Code:
A PHP Error was encountered

      Severity: Warning

      Message: Invalid argument supplied for foreach()

      Filename: views/student_directory_view.php

      Line Number: 8

I've looked over all the advice here and this is how I have modified everything:

Database
Code:
#
# Source for table parents
#

CREATE TABLE `parents` (
  `parent_id` int(11) NOT NULL auto_increment,
  `lname` varchar(255) default NULL,
  `fname` varchar(255) default NULL,
  `street` varchar(255) default NULL,
  `city` varchar(255) default NULL,
  `state` varchar(255) default NULL,
  `zip` varchar(255) default NULL,
  `email` varchar(255) default NULL,
  `phone` varchar(255) default NULL,
  `cell` varchar(255) default NULL,
  PRIMARY KEY  (`parent_id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;

#
# Dumping data for table parents
#

INSERT INTO `parents` VALUES (1,'Smith','Farrah','123 Sesame St.','Dallas','TX','75217','[email protected]','555-555-5555','555-555-5555');
INSERT INTO `parents` VALUES (2,'Smith','Gus',NULL,NULL,NULL,NULL,NULL,NULL,'555-555-5555');
INSERT INTO `parents` VALUES (3,'Jones','Lyndsey','456 Main St.','Dallas','TX','75216','[email protected]','555-555-5555','555-555-5555');

#
# Source for table students
#

CREATE TABLE `students` (
  `student_id` int(11) NOT NULL auto_increment,
  `lname` varchar(255) default NULL,
  `fname` varchar(255) default NULL,
  PRIMARY KEY  (`student_id`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

#
# Dumping data for table students
#

INSERT INTO `students` VALUES (1,'Smith','Abbey');
INSERT INTO `students` VALUES (2,'Smith','Jason');
INSERT INTO `students` VALUES (3,'Jones','Sarah');

#
# Source for table students_parents
#

CREATE TABLE `students_parents` (
  `student_id` int(11) NOT NULL default '0',
  `parent_id` int(11) NOT NULL default '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

#
# Dumping data for table students_parents
#

INSERT INTO `students_parents` VALUES (1,1);
INSERT INTO `students_parents` VALUES (1,2);
INSERT INTO `students_parents` VALUES (2,1);
INSERT INTO `students_parents` VALUES (2,2);
INSERT INTO `students_parents` VALUES (3,3);

I think I am using the students_parents table (students_guardians as you have it) correctly...I added a row to associate each student_id with their respective parent_id(s). Is this correct?

student_directory_model.php
Code:
<?php
class Student_directory_model extends Model {

    function Student_directory_model()
    {
        // Call the Model constructor
        parent::Model();
    }
    
    function get_all_students()
        {
            //Query the data table for ALL STUDENTS
            $query = $this->db->select('students.*, parents.fname, parents.lname')
                        ->join('students_parents', 'students_parents.student_id = students.student_id')
                        ->join('parents', 'students_parents.parent_id = parents.parent_id')
                        ->order_by('students.lname, students.fname')
                        ->get('students')->result_array();
        }
}
?>

student_directory_view.php

Code:
<html>  
<head>  
    <title><?=$page_title?></title>  
</head>  
<body>  
    <h1>&lt;?=$page_title?&gt;</h1>
    <ul>
        &lt;?php foreach($students as $student)
            {
                 echo $student['student_id'];
                 echo "<li>{$student['lname']}, {$student['fname']}</li>";
            }
        ?&gt;
    </ul>
&lt;/body&gt;  
&lt;/html&gt;

student_directory.php

Code:
&lt;?php
    class Student_directory extends Controller{
        function Student_directory()
        {
            parent::Controller();
            
            $this->load->scaffolding('students');
       }
        
        function index()
        {
            $this->load->model('student_directory_model');

            $data['students'] = $this->student_directory_model->get_all_students();
            $data['page_title'] = "SJES Student Directory";

            $this->load->view('student_directory_view',$data);
        }
    }
?&gt;

I hope I'm not butchering your advice too badly.


Messages In This Thread
If data exists in the field print, else don't - by El Forum - 07-01-2009, 05:00 PM
If data exists in the field print, else don't - by El Forum - 07-01-2009, 05:28 PM
If data exists in the field print, else don't - by El Forum - 07-01-2009, 06:15 PM
If data exists in the field print, else don't - by El Forum - 07-01-2009, 06:24 PM
If data exists in the field print, else don't - by El Forum - 07-01-2009, 06:36 PM
If data exists in the field print, else don't - by El Forum - 07-01-2009, 06:52 PM
If data exists in the field print, else don't - by El Forum - 07-01-2009, 09:00 PM
If data exists in the field print, else don't - by El Forum - 07-01-2009, 09:12 PM
If data exists in the field print, else don't - by El Forum - 07-01-2009, 09:13 PM
If data exists in the field print, else don't - by El Forum - 07-01-2009, 09:50 PM
If data exists in the field print, else don't - by El Forum - 07-02-2009, 03:20 AM
If data exists in the field print, else don't - by El Forum - 07-02-2009, 03:29 AM
If data exists in the field print, else don't - by El Forum - 07-02-2009, 03:40 AM
If data exists in the field print, else don't - by El Forum - 07-02-2009, 05:51 AM
If data exists in the field print, else don't - by El Forum - 07-02-2009, 08:02 AM
If data exists in the field print, else don't - by El Forum - 07-02-2009, 08:16 AM
If data exists in the field print, else don't - by El Forum - 07-02-2009, 08:22 AM
If data exists in the field print, else don't - by El Forum - 07-02-2009, 08:31 AM
If data exists in the field print, else don't - by El Forum - 07-02-2009, 08:34 AM
If data exists in the field print, else don't - by El Forum - 07-02-2009, 09:16 AM
If data exists in the field print, else don't - by El Forum - 07-02-2009, 01:07 PM
If data exists in the field print, else don't - by El Forum - 07-02-2009, 01:22 PM
If data exists in the field print, else don't - by El Forum - 07-02-2009, 01:23 PM
If data exists in the field print, else don't - by El Forum - 07-02-2009, 03:29 PM
If data exists in the field print, else don't - by El Forum - 07-02-2009, 03:37 PM
If data exists in the field print, else don't - by El Forum - 07-02-2009, 05:09 PM
If data exists in the field print, else don't - by El Forum - 07-03-2009, 12:44 AM
If data exists in the field print, else don't - by El Forum - 07-03-2009, 12:55 AM
If data exists in the field print, else don't - by El Forum - 07-03-2009, 03:58 AM
If data exists in the field print, else don't - by El Forum - 07-03-2009, 08:01 AM
If data exists in the field print, else don't - by El Forum - 07-03-2009, 08:16 AM
If data exists in the field print, else don't - by El Forum - 07-03-2009, 09:00 AM
If data exists in the field print, else don't - by El Forum - 07-03-2009, 09:33 AM
If data exists in the field print, else don't - by El Forum - 07-03-2009, 09:49 AM
If data exists in the field print, else don't - by El Forum - 07-03-2009, 10:01 AM
If data exists in the field print, else don't - by El Forum - 07-03-2009, 10:08 AM
If data exists in the field print, else don't - by El Forum - 07-03-2009, 11:01 AM
If data exists in the field print, else don't - by El Forum - 07-03-2009, 11:08 AM
If data exists in the field print, else don't - by El Forum - 07-03-2009, 11:38 AM
If data exists in the field print, else don't - by El Forum - 07-03-2009, 11:53 AM



Theme © iAndrew 2016 - Forum software by © MyBB