Forum Webscript.Ru
Программирование => PHP => Тема начата: sanika от 02 Июля 2004, 12:11:42
-
Как мне вытянуть с помощью РНР и SQL запроса все данные из последего рядка таблицы? возможно ли такое?
-
Ох, наверное уже 50-ый раз пишу это .
В таблице нет ни первой, ни второй, ни последней строки. Данные в таблице неупорядочены. С точки зрения теории таблица - это множество записей. А множества по определению неупорядочены.
Но, упорядочить можно выборки - то есть результаты SELECT-запросов. То есть если ты напишешь
SELECT * FROM your_table ORDER BY datetime_field DESC LIMIT 0,1
ты получишь запись, которая имеет наибольшее время в datetime_field и если в этом поле ты хранишь время добавления то таким запросом ты получишь запись, добавленую последней в таблицу.
Но само выражение "Последняя запись таблицы" некорректно и показывает, что человек не знает теорию СУБД
ЗЫ
Ромик, может что-то похожее в FAQ добавишь ?
-
Это я знаю, но если у меня в таблице есть поля, где дата повторяется? Можно конечно добавить поле с порядковым номером, но для этого прийдется много запросов переделать на сайте ... как можно проще?
-
а как можно обратится к последнему рядку вообще? (примером если в записях нету даты, или времени)? Подскажите пожалуста?
-
sanika
еще раз.
нет такого понятия в РСУБД как последний рядок.
нет вообще такого понятия как рядок.
понятие "последний" в безусловном аспекте абсолютно бессмысленно.
последний должен быть по отношению к чему-либо.
-
Хорошо, если у меня за сегодня зарегистрировано три человека, но мне надо вывести последнего зарегестрированого в поле таблицы стоит свойство "дата". Как мне его вывести? Вызходит что без порядкового номера в таблице мне все таки не обойтись?
-
база данных - это не набор счетных палочек, который тебе ближе.
если тебе нужен какой-то порядок выборки, то ты должен САМ его задавать
-
в факе это есть.
у тони
-
sanika
это может быть не порядковый номер, а есть много других вариантов.
наприер, автоматически увеличивающийся счетчик.
-
тоеть можна сделать счетчик рядков, узнать сколько их, и вывести его?
-
нет. ничего узнавать не надо.
надо отсортировать по автоматически увеличивающемуся полю и взять самое первое.
-
в факе это есть.
у тони
.. если не затруднит - урл....
-
и забудь про свои грядки.
в базе есть СТРОКИ
вот и называй их, как положено
-
sanika
по урлу написано то же самое, что тебе Макс объяснл.
если тебе это не помогло, то и урл не поможет.
тебе надо понять другое.
в mysql практически никогда не создается таблиц без поля id, которое является автоинкрементным уникальным индексом.
первое назначение этого поля - УНИКАЛЬНАЯ идентификация записей.
Кк дополнительный бонус, можно это поле рассматривать и как метку добавления - раньше-позже.
Единственное, как что нельзя рассматривать это поле - это как нумератор
-
короче я прошел к тому, с чем пришел :) база не моя, а тот умник не создал поля с автоинкрементом ... вот я и стпрашивал .. .надо его создавать, или можна так обойтись :). Выходит что создавать - обязательно..