Your_House, когда любой человек начинает делать сайты он тут же сталкивается с понятием "динамический сайт" и сразу сталкивается с серверными языками и базами данных. Странно что ты делая сайты только сейчас к этому пришел.
Daria Motorina, можно вообще это делать в админке при добавлении города, сохранять результирующий массив и потом одним запросом юзеру выводить, типа "кэш" такой.
- объявить словарь букв в виде массива (можно взять из таблицы по колонке letter, чтобы лишние не перебирать которых нет в БД)
- пройтись foreach по словарю назначая переменной $letter значение буквы
- в этом же foreach делать запросы на каждую букву SELECT name FROM city WHERE Letter = $letter.
- кидать результаты в некий массив
- перебрать результирующий массив выводя города по группам
Да, запросов будет дохрена (столько сколько разных букв в колонке letter), но с другой стороны у тебя же только в одном месте будет эта портянка городов.
Согласен на счет того что здесь нужна одна а не три таблицы. Почитай зачем делают отношения "один ко многим", "многие ко многим" и "один к одному", в чем вообще смысл.
DevMan, в Джумле например очень часто для хранения настроек или картинок в ячейке используется именно json. Хз почему так, наверно чтоб не плодить таблицы которых итак дофига.
Думал о таком варианте но пока не понимаю как указывать картинке id статьи если одновременно в базу пишется и статья и картинки. То есть на момент записи id статьи еще не известно.
То есть человек заполняет статью и прикрепляет картинку, нажимает Сохранить и в этот момент:
1. В таблице Статьи создается строка с уникальным id
2. Одновременно в таблице Картинки создаются строки с id самих картинок и id статьи к которой картинки принадлежат, вот как этот id получить?