ChocoPy解析器代写|CT 2022/23 Coursework 1 – Parsing

本次北美CS代写之PHP代写主要是使用CodeIgniter框架完成WEB应用程序的开发,包含主页,搜索,联系人和关于页面。

Learning objectives

  • Use CodeIgniter to build a multi-page web application
  • Use AJAX and jQuery plugins with CodeIgniter

Requirements

Write a web application with the functionality described below, and implement the application in the ways discussed.

Follow the provided guide in order to help you implement some of the functionality discussed below.

CodeIgniter Asset Folder and Helper Method

Under the /CodeIgniter-3.X.X/ folder create a directory
called /assets/.
Create /assets/img/, /assets/css, /assets/js and /assets/plugins directories as well. Images, CSS, JavaScript, and plugin files must then be stored under these directories.

Create a CodeIgniter helper function called assetUrl() which returns the URL to the asset folder as a string.
The assetUrl()method should use base_url() to build this string. See the guide for assistance in implementing this function.

The assetUrl() method should than be used in the application view files to load in all images, CSS files, JavaScript files and plugin files.

CodeIgniter Template Library

Create a CodeIgniter Library called Template that contains a function called show(). The show() function should take 2 arguments – the name of a view file, and a template array.
The show() function should load, in order, 1) a header view, 2) a navigation view, 3) the supplied view file, 4) a footer view. See the guide for assistance in implementing this function.

Your Controller files must use this library to load view files, instead of $this->load->view().

CodeIgniter Controllers, Views, Headers, Footers and Navigation

The application should be made up of 4 pages: Home, Search, Contacts, and About.

Each page of the application should have its own controller file and view file. The view file specific to each page should make up the ‘content’ of the view. A header view file, a navigation view file, and a footer view file should be created. These files should be used in conjunction with the Template library.

The header, navigation, and footer should look identical or near identical to the working solution.

See the guide for assistance in implementing this feature (and helpful CSS code).

Navigation

The navigation links should implement a hover highlight colour through CSS.

The navigation links should also highlight the current page the user is on with a different colour. This should be implemented by the controller files and navigation view files (boolean values can keep track of which navigation link to highlight).

Navigation – current page highlight on Home, hover highlight on Search

Home page

The home page should contain the same text as pictured in the working solution:

Search page

The search page should contain a text input box that allows users to enter text. Beneath the text input box there should be a table of search results. The table should initially contain all of the entries of the phonebook table.

Each time the user modifies the input text box contents by either adding or removing a character, the table should be updated to contain only those entries of the phonebook table for which either the first name, last name, phone number or e-

mail contains the search term. In other words, if the search term in the input box is contained in any of those fields, the entry should be presented as a result. This table update must be done using AJAX and the CodeIgniter controller for your search page.

See the functionality of the working solution:

Search page 1 Search page 2 Search page 3 Search page 4 Search page 5

Search page 6 Search page 7 Search page 8

Contacts page

The contacts page should display all of the entries of the phonebook table in an HTML table. The first name, last name, phone number and e-mail fields of the table must be ediable, using the x-editable plugin and the Poshy Tip plugin.

When the user clicks on one of these fields in the table, a popup box should appear that allows the user to edit the value of the entry. The x-editalbe plugin uses AJAX to send a request to the server. Write a PHP function as part of the CodeIgniter controller for your contacts page that will handle this AJAX request by updating the appropriate data in the database table.

See the functionality of the working solution:

Contacts page 1 Contacts page 2 Contacts page 3

About page

The about page should contain the same text and image (ajax.jpg) as pictured in the working solution:

Working Solution

Navigation – current page highlight on Home, hover highlight on

Contacts page 3 About page

Starter Resources

phonebook.sql.txt – can be used to create table, populate it with data

CodeIgniter Multi Page Guide – guide to Multi Page functionality in CodeIgniter

ajax.jpg – about page image headerlogo.png – header logo main.css – css file