[Project Summary] [Download] [Screenshots]
"Any table. Anywhere." (Print this guide and read it before installing.)
TableDance is a cross-platform database manipulation tool. Basically, it is a web-based SQL query builder.
TableDance is released under the PHP License, version 3.0. It uses sanitize functions by Zuchlinski and Pratt.
(This text is also found in Readme.htm included in the release. Links are to sample config/style files only.)
Unfortunately, the Demo no longer works as few (free) hosting environments support PEAR and therefore DBX. The project is inactive/abandoned - more details below.
It's another day at the office. Information is stuck in a database somewhere. A non-technical user needs to get to it, but no administrative interface was built. Maybe the supporting developer moved on, maybe the project was so tightly scoped that they missed it out. As the default database guru you have three choices.
One, install the whole suite of database client tools on the user's PC. Two, string together a simple database driven site. Or three, have them tap you on the shoulder every time they want a little change. Yes, it happens. But little did I realise it would happen so frequently that I would, over the course of my career, get sick of building poxy little web-database interfaces for one or two poxy users.
I wrote TableDance so I could quickly configure something through which users present and future could reach their data, and leave me alone.
I also wanted to compel work into implementing something called 'TableDance.'
Cross-Platform: Runs on multiple databases, web servers, and browsers. It's so small and ugly that it has far fewer system dependencies than other web-based admin tools.
Customisable through Cascading Style Sheets (CSS)
Powerful: execute any SQL statement (yes, that's right, including create and drop table.) UI support for select, update, insert, delete.
Database: Any supported by PHP's 'DBX' module. Includes Oracle, MSSQL, MySQL. Tested on MSSQL 7 and MySQL.
Web Server: Any web server running PHP, with DBX and relevant database modules enabled. Naturally, database client software must also be installed on the web server. Tested on IIS.
You should be comfortable with HTML, web server configuration, SQL, and database server configuration. If you have ever linked a web page to a database before, you should be fine.
Create a folder for the TableDance files on your web server, then copy them in there. Make sure they have permissions for browsing and running scripts. There are no naming restrictions, or subfolders.
Check your PHP installation. (Load phpinfo.php in your browser) If DBX and the relevant database modules are loaded, well and good. Otherwise you will have to enable DBX yourself. DBX is included with the PEAR/PECL repository and must be downloaded and installed separately.
Some examples are included in both config.cfg and index.htm. The easiest thing to do is to modify them.
Hate the default colour scheme? So do I, but I couldn't be bothered changing it. Customise TableDance look and feel by editing style.css.
Effort has been made to make TableDance as functional as possible, not as secure as possible. (Otherwise it's doubtful it would even exist.) Creating a sign-on system for TableDance is unnecessary and cumbersome. There are much more elegant ways to secure this application.
Database security - do not operate TableDance on the super user account. At least, not if you value your data enough to avoid some n00b luser wiping out everything with a 'delete *'. TableDance will not be able to affect anything its user account (defined in config.cfg) has no access to. If you let it use a super user account just to see that it connects, please change it to use a restricted account afterwards, and certainly before you let anyone else use it. Also, consider creating database views for TableDance rather than have it operate directly on tables. I know there are MSSQL 'admins' out there who will leave TableDance set to 'sa/blank', and I am prepared to travel overseas to smack down anyone who writes me about their resulting problems.
Web Server security - TableDance is only meant for use within a local network. Because of its 'open' design, it is vulnerable to malicious SQL injection and buffer overflows. If you must expose it to the greater Internet, please implement some basic web server security either through .htaccess files or through folder permissions.
If you know your way around PHP, then I'm sure you'll do a better job improving TableDance than I. Some strange design choices I've made are:
If you liked TableDance, why not try: phpFriendlyAdmin and phpMyAdmin. No links provided here. Go Google them.
Implementing TableDance has gotten harder since DBX has shifted from PHP core to PECL. I haven't been able to make the choice between including docs for installing PHP/DBX or to port to PDO. Both present their problems. But by leaving it in DBX the code remains easy enough to hack. If you can work out how to install dbx, you should have an easy time of it. Besides, my circumstances have changed and I've gotten out of IT. I no longer have to use TableDance, so I am reluctant to support it.
Dave Edwards, who put me onto php and dbx.
SourceForge.net, for their uploads and downloads.
South Australian Courts, for paying my mortgage while I wrote TableDance.
Derek Wee, TableDance author, dtcwee AT users DOT sourceforge DOT net (user 1259809)
18 May 2014