Yet another web interface class

If you need a php class to quickly create a web interface for your database, this is it.

About/Features

Okay, we are not really original :) . Yawic stands for “yet another web interface class”. It’s a php class for quickly creating webbased database interfaces.

There are many classes and frameworks around on the web which give you this functionality, but we have specific wishes on how it should work.

What does it do ?

  • give you easy web access read/write/list/add/delete to data in your mysql based database.
  • automatic page generation based on database metadata and configuration files.
  • desktop-like interface (using ajax).

What does it use ?

  • php 5
  • mysql 5
  • AJAX (using xajax) for an interactive web interface
  • css for style
  • special styled error handling function instead of the default javascript alert

Current Features (alpha 0.2):

  • No page reloads, AJAX is used for update
  • Create a form based on metadata from a mysql table
    • Create input types depending on the field type
    • Handle “required” fields ( Not NULL fields in the table )
    • Use (multi field) primary keys for ordering, and selection/update in the database
    • Autoincrement fields are not shown
  • Create a list based on metadata from a mysql table
    • Shows 10 records from the database
    • Linked to the form, when a record is selected, this is updated in the form
    • Current selected record is shown in this list
  • Link tables using lookups from subtables based on foreign key information
  • Default buttons for navigation through the database and basic functions:
    • prev, prev page, nex, next page, first & last
    • new, delete, update (process)
    • Navigation buttons are disabled when not needed
  • Configfile, only used to override defaults:
    • Override shown label names
    • Hide/show fields in the form and list
    • Change type of shown field
    • Change what fields are shown from a lookup table
    • Additional information to show in the yellow help box
  • CSS of created demo conforms to w3c CSS validator
  • HTML of created demo conforms to strict html with validator from w3c