Ну, это какбы не совсем одно и то же . LAST_INSERT_ID() не привязан к таблице, и просто-напросто отдаёт id, полученный автоинкрементом после последней вставки в рамках текущего соединения.
К тому же, если Вы делали множественную вставку в рамках одного SQL-запроса, данная функция вернет id только первого. А это уже будет отличаться от AUTO_INCREMENT даже не на единицу :)
Нет. Это происходит потому, что у Вас изначально при отработке Вашего кода, на странице нет ни одного элемента созданного по этому шаблону. Поэтому коду $.on() не к чему биндить обработчик. Алгоритм следующий:
1) Создаёте экземпляр объекта по шаблону
2) Вызываете код инициализации обработчика
И так каждый раз при создании нового объекта по Вашему template.
Если неохота этим заниматься каждый раз — изучайте MVC фреймворки, например Backbone.js, где все стандартные обработчики, которые должны навешаться на элемент, прописываются в моделях, и нет необходимости каждый раз их инициализировать руками.
grishaaa: Это Ваше окружение (операционка, железо и т. п.). Хотя, как уже написал Дмитрий Камянгой , забудьте про Brackets. Он еще слишком сырой, как для полноценного редактора, и корректно работает, видимо, только на MacOS
Максим Дунаевский: Да, возможно, для веба и не очень удобно. Но в вопросе и в тегах я не увидел упоминания о том, что редактор должен использоваться исключительно для веб-разработки :)
ProMaks: Нет, Ваша ошибка в том, что Вы только единожды извлекли один ряд из ресурса $result и передали его на перебор в foreach(), а в моём коде мы в цикле while извлекаем ряд и добавляем его к результату столько раз, сколько это возможно, тем самым получая в результате все ряды, полученные по SQL запросу.
Антон Шаманов: Поскольку информация здесь выводится в отладочном режиме с использованием print_r, так результат будет выглядеть нагляднее. К тому же в поставленной задаче не имеет значения, через какую функцию извлекать ряд.