Try before you buy. Contact email@example.com if you have any questions. If this project meets your needs and expectations after a week or so, send $20 through PayPal.
Create a script now!
View the original phpMyEdit Documentation (note the Google Translate feature in the page footer)
phpMyEdit is adequate for basic MySQL™ data management when using MyISAM type tables. Column 0 must be the unique identifier .
This app built and tested using PHP versions 5.5.12 & 7.1.9 and MySQL™ version 5.7.19.
Users having simple tables can be up and running in a matter of minutes. Multiple databases can be easily configured.
This app uses MySQL™ Improved Connection methods and the utf8 character set. If using a character set other than utf8, specify that character set when configuring the included database connection.
When forms are displayed on smartphones or tablets, Bootstrap creates responsive tables. In List mode, tables having a number of columns can be swiped sideways to display columns which aren't initially displayed.
This app can be used with FontAwesome (request and embed your own CDN script link).
Scripts are initially configured to display the first 5 columns of data in List mode. Minor changes to the generated script will facilitate displaying additional columns. The default Bootstrap container (1280-pixel width on large displays) can easily be over-ridden to facilitate 100% page width.
Sample code without Toggle links: denver_dog_parks.0.txt
Sample code with Toggle Links: denver_dog_parks.1.txt
phpMyEdit does not work with multiple key tables, foreign key tables, or complex INNODB tables.
This app works with MyISAM type tables when MySQL™ column 0 is the unique key. Multi-key tables are not supported.
Users must install the provided `change_log` schema on each configured database. This feature essentially records changes made to various record fields.
Experience required with MySQL™, PHP, LAMP or WAMP environment, and phpMyAdmin.
Please read the Installation Instructions before purchasing this CRUD tool, an application designed to Create, Read, Update, or Delete database records.
No user authentication is built in, thus make your own security arrangement (such as placing this project in a password protected directory).
Usage of the phpMyEdit forum has significantly declined in recent years. Though the search feature can still be valuable at times.
Note: In the configuration file is the line
error_reporting(E_ALL & ~E_DEPRECATED);
which suppresses a deprecation warning about phpMyEdit being both a Name and a Class. Otherwise, the phpMyEdit class file used here appears to be perfectly compatible with PHP version 7.
Known Bugs: Button navigation is broken (use text, fontawesome, or image navigation for the 'nav' option). phpMyEdit's 'tab' feature works in Add mode but the HTML generated in Change mode is somehow broken.
Triggers and filters can be very useful.
Don't casually delete records. Instead, flag them as deleted and exclude them in List mode by using a filter. Add a `deleted` column to your table.
When creating a MySQL™ table, consider adding this field:
`deleted` ENUM('0','1') default '0';
ALTER TABLE `some_table` ADD `deleted` ENUM('0', '1') NOT NULL DEFAULT '0' AFTER `some_column`, ADD INDEX `idx_deleted` (`deleted`);
Then use the included trigger file
./inc/triggers/mark_as_deleted.TDB.php to flag records as deleted instead of actually deleting them.
Following the author's preference, if your table contains a field named
`deleted` then you will find the following code lines will automatically appear in your script.
Set a filter in your script, which in List mode serves to exclude records where `deleted` = '1'.
$opts['filters'] = 'PMEtable0.deleted = "0"';
Set a trigger in your script:
$opts['triggers']['delete']['before'] = './inc/triggers/mark_as_deleted.TDB.php';
Comment out the `deleted` array in the generated script. Make sure the trigger is called (typically set in the config file).
Test that this works as planned: add a test record, return to List mode, delete the record using the Delete icon, return to List mode and check that the record no longer appears in List mode, then use phpMyAdmin to access the table and confirm the test record exists in the database table.
Taking the time to configure
`deleted` ENUM('0','1') default '0'; as a field, and add a trigger and add a filter can seem like a lot of work, but it isn't. Eventually a user will unintentionally delete a record. These precautions will save the data and the project administrator can un-delete the record(s).
Several years ago I discontinued online sales of this project because email servers were sometimes rejecting a ZIP file emailed following PayPal IPN notification. Bootstrap was emerging, as was MySQL™ Improved Connections. The code needed updating at a time when health issues were setting in. This project has been a labor of love. It works.
I've been using the Internet since it became publicly available in the USA on August 1, 1991. For almost 30 years I've been exploring practical website development, HTML coding, CSS, PHP scripting, and MySQL™ database development. From 2000 to 2015 I worked 20+ hours weekly for a graphic designer, coding websites for his clients, providing hosting, and developing a custom content management system. About 2002, I discovered phpMyEdit and became addicted to using it personally as well as for the back-end of almost 200 websites. The maintainer of the phpMyEdit project found my instructional "cheat sheet" online and that became the foundation of formal project documentation. After spending a few months studying phpMyEdit, I was addicted. phpMyEdit continues to serve all my needs for placing data online, for fun (as a retiree with time to kill), for practical purposes, and occasionally for a client. A dozen college database administrators + 400 web developers have purchased this project in the past decade or so. I've hacked the class file countless times to fix something, or suit my needs or modify outdated code. There are probably some harmless custom entries in the class file which I should have removed, but I don't have that much free time, so enjoy or remove any obtuse entries which may be present. With the arrival of the Bootstrap mobile-first framework, altering some of the phpMyEdit code to work well under the Bootstrap framework was challenging. More work could be done but the basics are handled. Tables are responsive and slide sideways on smartphones or small tablets.