sanyaok312, всё равно для требуемого контроля каждый раз в базу надо лезть, чтобы сверить что-нить на предмет: "А не зашёл ли кто-нить под моим логином?".
В идеале вместо трёх switch-ей должен быть один – например, такой:
....
Но опять же встаёт вопрос, как грамотно заполнить массивы для переменных e, a, b, c и создать для них соответствующий цикл.
Нонсенс, конечно-ж...
Если массив отсортирован по алфавиту, то...
Как, собственно, выводится перечень по столбцам?
Если подряд от "А до Я", то достаточно строковую переменную инкрементировать, обрабатывая исключения (№, Ё) и выводить её один раз перед названием с чек-боксом...
Если по-строчно, то можно проверять первый символ предыдущего слова (элемента массива, при его наличии) и, в случае неравенстрва - выводить его (а если это цифра - то достаточно отсутствия предыдущего элемента в массиве для вывода префикса).
А можно заморочаться с группировкой названий по куче признаков, один из которых - общий для подгруппы символьный префикс...
При использовании таблиц, поддерживающих транзакции (таких как InnoDB, BDB), в MySQL можно отключить режим autocommit при помощи следующей команды:
SET AUTOCOMMIT=0
После этого необходимо применить команду COMMIT для записи изменений на диск или команду ROLLBACK, которая позволяет игнорировать изменения, произведенные с начала данной транзакции.