www.database-manager.nl
www.database-manager.nl
Ik moet af en toe websites bouwen op webservers die wel MySQL, maar geen PHPMyAdmin omgeving bieden.
Om toch in de database te kunnen gluren of alles goed gaat en enkele basis zaken te kunnen uitvoeren heb ik een 'database manager' geschreven. De tool biedt momenteel de mogelijkheid om automatisch tabellen en kolommen te detecteren in je database, en bouwt formulieren op waarmee je eenvoudig records kunt toevoegen/bewerken/verwijderen.
De tool wil ik in de toekomst ook inzetten voor klanten, zodat deze zelf gegevens in de database kunnen beheren.
In de configuratie kun je ook specifiek aangeven welke tabellen/kolommen via de tool beheerd kunnen worden. Zo hoef je niet de hele database bloot-te-geven aan je klanten.
Ook heb ik een QUERY-tool ingebouwd waarmee je eigen queries op de database kunt runnen. Deze tool is in het configuratie eenvoudig in en uit te schakelen.
Ik ben zeer benieuwd naar jullie feedback over de tool! Als de tool 'af' is zal ik deze zeker open source als script opnemen op dit forum.
Je kunt inloggen met "admin/password". De database heb ik gevuld met een standaard JOOMLA installatie.
De bron bestanden zijn nu hier te downloaden
TODO:
- Basis javascript validatie voor velden in het formulier.
Gewijzigd op 01/01/1970 01:00:00 door Martijn Wieringa
Het concept is erg leuk maar 1 ding vind ik een beetje vreemd. Veldlengte. Dit slaat nergens op. Als ik een stored procedure wil invoeren kan dat niet?
Daarom limiteer ik de veld waarden tot de opgegeven lengte. Je kunt dit zelf verhogen als dat wenselijk is...
*bump* :P
verder vind ik het er echt geweldig uitzien en ik geloof dat dit erg handig is en veel potentieel heeft
Pholeron schreef op 26.03.2009 09:07:
Heb jij even geluk dat je PMA zelf kan installeren... Het is niet meer dan een PHP-scriptje, dat zou dus geen probleem mogen opleveren. Even uploaden, configureren en gaan met die banaan.Ik moet af en toe websites bouwen op webservers die wel MySQL, maar geen PHPMyAdmin omgeving bieden.
Uiteraard zijn er nog andere PHP-scriptjes om databases te beheren en kun je er zelf ook eentje schrijven.
Daarnaast wil ik de tool ook inzetten (zoals ik al schreef) voor klanten zodat deze een (zeer beperkt) deel van de database kunnen beheren.
Maar dit werkt dan toch niet op systemen waar connecties van buiten niet geaccepteerd worden? (99 procent van de webservers dus)
Je kunt het script op je FTP locatie uploaden (bij voorkeur in een eigen map); en desgewenst beveiligen met een USERNAME/PASSWORD. zodat je er in de toekomst ook eenvoudig bij kunt mocht dat nodig zijn.
Ziet er echt heel goed uit :) Heel overzichtelijk en simpel om te gebruiken. Enige nadeel is dat je geen query kan laten maken door wat dropdowns zoals bij PhpMyAdmin.
Quote:
De tool wil ik in de toekomst ook inzetten voor klanten, zodat deze zelf gegevens in de database kunnen beheren.
Prachtig natuurlijk als dat gaat lukken, maar ik vraag mij af of klanten dat gaan (willen) snappen.
Kan je niet nog iets met relaties in de database doen? Je zou bijvoorbeeld kunnen denken aan een pagina die een relatie met een menu item heeft, dat de gebruiker dan bij het toevoegen van een pagina een dropdown krijgt met de keuze tussen menu items.
Het zelfde geldt eigenlijk ook voor data/time velden, een date- en/of timepicker zou het geheel natuurlijk vergemakkelijken.
Turmin schreef op 28.03.2009 10:57:
Hmm, niet echt het enige nadeel naar mijn idee, en ook niet het grootste.Ziet er echt heel goed uit :) Heel overzichtelijk en simpel om te gebruiken. Enige nadeel is dat je geen query kan laten maken door wat dropdowns zoals bij PhpMyAdmin.
Maar de enige functionaliteit die hierin zit is rijen bewerken. Verder moet alles via queries. Dat maakt dit in mijn ogen geen database manager, maar een data manager waar klanten waarschijnlijk niet veel van begrijpen.
Maar als er behoefte zou zijn aan dergelijke functionaliteit kan ik die nog altijd realiseren. Maar het zou voor mij irreeel zijn om met een 'PHPMyAdmin' te willen concurreren
1) JS-datum/tijd-selectors.
2) WYSIWYG-editor (TinyMCE of FCKEditor) die verschijnt bij TEXT-velden waarin HTML-tags staan.
Dan is het systeem prima als backoffice voor een CMS (of elke andere dynamische site) te gebruiken, ook door klanten.
Toch 2 puntjes van kritiek:
- Backticks in de queries??
- Als je een record kopieert is het misschien handig om de velden met een primary key/auto increasment leeg te laten. Anders mislukt de query
Wat ik nog mis:
- Relaties
- De mogelijkheid om een diagram van alle tabellen te laten maken. (eventueel met relaties). Misschien past dit niet bij je doelgroep, maar het zou heel mooi zijn.
- Toen ik voor het eerst het syteem bekeek wilde ik instinctief op de tabel naam klikken om hem te bekijken/bewerken. Misschien is het handig om die mogelijkheid erbij te maken. Het duurde even voordat ik het potloodje zag
Citroen schreef op 28.03.2009 13:38:
Toch 2 puntjes van kritiek:
- Backticks in de queries??
- Backticks in de queries??
Zeker nodig: als je een kolom of tabel hebt met de naam van een bestaande MySQL-functie, gaat 'ie zeiken. Met backticks heb je dat probleem niet. Zelf gebruik ik backticks alleen voor die specifieke kolommen.
Ik ben van mening dat het gebruik van backticks geen oplossing voor een probleem is maar slechts een opschuiving daarvan. In plaats van het gebruik van namen die niet gereserveerd zijn voeg je backtick toe. Dat maakt de code niet echt leesbaarder:
SELECT `FROM` FROM pm WHERE `HIGH_PRIORITY` = true;
SELECT sender_id FROM pm WHERE priority = 'high';
En dan zeker het af en toe gebruik van backticks kan voor problemen zorgen. Het maakt het debuggen nodeloos veel ingwikkelder.
Je zou gewoon SQL moeten schrijven zonder die truukjes als backticks te voorschijn moeten halen.
En als je ze zou willen gebruiken, wat ik afraad, doe het dan altijd. Dat staat een stuk duidelijker, in mijn ogen.
net 24586 entries toegevoegd
Ik wil SQL niet laten 'crashen' als de maker van de database toevallig een keyword gebruikt als tabel/kolomnaam. Daarnaast werkt het met backticks altijd goed. Het is (wat dit systeem betreft) net zo noodzakelijk als single quotes om waarden heen.
Zo bevat de joomla installatie die gebruik is in het voorbeeld ook een # in de tabelnaam.. Opzich moest deze natuurlijk vervangen worden door een PREFIX, maar zelf zonder die vervanging werken de queries vlekkeloos dankzij de backticks..
@Martin
Wat bedoel je met je opmerking? Is er iets niet goed beveiligd? Graag meer feedback zodat als er iets mis is met de beveiliging dat ik het kan fixen..
Gewijzigd op 01/01/1970 01:00:00 door Martijn Wieringa