Скриптик для быстрого просмотра MySQL

vovanium

Новичок
В связи с тем, что надоело отправлять юзеров в phpMyAdmin для проверки правильно ли исправилась кодировка дампером, набросал просмотрщик таблиц.

Из возможностей.
Коннектится к нужной базе и показывает список таблиц, естественно всё по AJAX работает, причем содержимое таблиц подтягивается в минимальном JSON. Все это дело показывается в самодельном гриде, расцветка по типам данных, и выделение столбцов по которым есть индекс жирным.

Можно указывать лимит, а также листать по страницам.

Можно добавлять условия для поиска, это дело немного автоматизировал.

Клик по ячейке - добавляет условие `col` = значение ячейки.
Ctrl + Клик - `col` < значение ячейки
Shift + Клик - `col` > значение ячейки
Ctrl + Shift + Клик - `col` <> значение ячейки

Для текстовых полей вместо "=", вставляется LIKE, c процентами либо слева, либо справа значения.

Если условие уже есть то автоматом добавляется AND, если нужно OR нажмите правую или среднуюю кнопку.

Чтобы затерлись предыдущие условия нужно добавить Alt :)


Скриншот в приложении. Всё это в виде одного php файла в 20 КБ.

Может кому пригодится, скачать можно здесь http://sypex.net/files/SypexViewer.zip.
 

Вложения

vovanium

Новичок
Форма соединения с базой не отправляется по Enter.
поправил, кстати там еще на полях where, from, limit тоже стоят обработчики Enter, так что в любом поле можно отправлять по Enter'у запрос. Также при клике на ячейках, когда добавляется условие в Where, автоматом переносится фокус на Where поле, т.е. тоже сразу можно Enter'ом отправлять запрос или редактировать условие.

принимаю предложения по добавлению новых фич :)
 

vovanium

Новичок
Сделал построение грида без использования DOM, что сильно ускорило рендеринг, можно и по 1000 строк выводить.
Добавил редактирование в стиле HeidiSQL. Т.е. редактирование прямо в гриде, причем текстовые поля могут редактироваться прямо в ячейке, либо в выпадающем окне (с автоматическим выбором окончаний строк). Измененные данные помечаются красным уголком, потом всё скопом сохраняется.
Добавлена фильтрация данных (т.е. в числовых столбцах нельзя вводить буквы и т.п.), по ячейкам можно перемещаться клавишами курсора.
Пока не выкладывал, нужно протестить во всех браузерах, а то только в фоксе и ie9 проверял.
Пока скрин, затенение в дебаговых целях используется, потом уберу.
sxv1.png
 

weregod

unserializer
хотелки:
1. необязательный ввод имени БД, можно сделать выпадашку с результатами "SHOW DATABASES";
2. пипка "растянуть на всё окно"

так и не понял, как открыть элемент на редактирование, как на картинке, хотя для viewer странно уметь редактировать

баг:
после нажатия на "Disconnect" сбросились поля user/pass/DB
 

vovanium

Новичок
weregod
Насчет списка бд подумывал, но еще не придумал как лучше сделать, так как придется делать какой-то промежуточный этап при логине, чтобы подгружались базы.
Растянуть на все окно приделаю конечно.

С редактированием пока не выкладывал, оно еще в разработке, доделал там чтобы курсором можно было перемещаться по таблице, редактирование открывалось по enter'у, так же поддержку tab'а.
Сделал выделение строк (с поддержкой Ctrl и Shift, как в обычных приложениях). Сейчас доделываю контекстное меню.

По-поводу дисконнекта, так это фича :) Специально делал чтобы после дисконнекта нельзя было зайти, просто нажав коннект еще раз.

С названием согласен, нужно будет поменять, просто изначально не планировал делать редактирование. А потом стало любопытно насколько сложным окажется добавление редактирования, получилось всё на удивление быстро. Так что возможно сделаю разделение на легкий viewer, и вторую софтину в которой будет уже и редактирование.
 

weregod

unserializer
10 кб прироста из-за редактирования не критично, рекомендую сделать единственную редакцию с редактированием.
логины-пароли сбрасывать негодно, права доступа - гемор систем, а не утилиты ;)
такое имхо по юзабилити

а вообще красивая годная утилита, спасибо, было приятно посмотреть!
 

korpus

злой бобёр
Утилита хорошая, можно использовать вместо phpmyadmin. Только вот форма сверху у меня уезжает вверх за пределы рабочей области браузера. Удаётся её увидеть, только нажав F11 и перейдя в полноэкранный режим браузера.
 
Сверху