A small plain PHP practice project built to strengthen core PHP fundamentals such as variables, arrays, associative arrays, loops, functions, conditional logic, and browser output.
This project builds a simple multi-page PHP app that:
- shows all student notes
- filters open notes
- shows a status summary
This project was built to practice:
- variables
- arrays
- associative arrays
- loops
- functions
- basic conditional logic
- built-in PHP functions such as
count() - PHP syntax differences from JavaScript
- rendering PHP output in the browser
- separating data, logic, and page output into different files
- View all student notes on one page
- View only open student notes on a filtered page
- View a status summary showing:
- total notes
- open notes
- closed notes
- Use reusable helper functions for filtering and counting
- Navigate between pages with simple links
data.php- stores the student notes arrayfunctions.php- stores reusable helper functionsindex.php- shows all notesopen-notes.php- shows only open notesstatus-summary.php- shows total, open, and closed note counts
php-student-notes-summary/
├── app/
│ ├── data.php
│ ├── functions.php
│ ├── index.php
│ ├── open-notes.php
│ └── status-summary.php
├── notes/
│ ├── 01-project-overview.md
│ ├── 02-setup-log.md
│ └── 03-what-i-learned.md
├── screenshots/
├── .gitignore
└── README.md
data.phpstores the student note data in an arrayfunctions.phpcontains helper functions for:- getting open notes
- counting open notes
- counting closed notes
index.phploops through all notes and displays themopen-notes.phpuses a helper function to display only open notesstatus-summary.phpuses helper functions to display note counts
Run the project locally with PHP or Apache.
Example using PHP's built-in server:
php -S localhost:8000Then open:
http://localhost:8000/app/index.phphttp://localhost:8000/app/open-notes.phphttp://localhost:8000/app/status-summary.php
Basic project build complete.
Current version includes:
- working all notes page
- working open notes filter page
- working status summary page
- reusable helper functions
- simple navigation links between pages


