Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как можно из таблицы выбрать последнюю строку ?
 
 автор: Hunter   (26.09.2006 в 13:41)   письмо автору
 
 

Имеется таблица, из которой хочу вывести последюю строчку, как это можно реализовать?

   
 
 автор: DEM   (26.09.2006 в 14:04)   письмо автору
 
   для: Hunter   (26.09.2006 в 13:41)
 

Всмысле последнию запись? Попробуй так:



<?
$query 
mysql_query("SELECT * FROM table1");
$num mysql_num_rows($query);

$sql mysql_query("SELECT * FROM table1 WHERE id='$num'");
echo 
$sql

?>


Вроде так, не тестровал.. Вот принцип работы: сначало мы выбираем таблицу, потом считаем сколько в нём строчек. А потом просто выбираем запись с айдишником... Работает только если id идёт всё время увеличиваясь (например 1, 2, 3, 4 и т.д.) и без пропускных айдишников (1, 2, 4 нельзя)... Но вообще в MySQL есть какая-то функиця для просмотря последней записи, но я её не помню :)

   
 
 автор: name   (26.09.2006 в 15:18)   письмо автору
 
   для: DEM   (26.09.2006 в 14:04)
 

По-моему это - mysql_insert_id(). Принимает в качестве параметра идентификатор соед.

   
 
 автор: Trianon   (26.09.2006 в 14:07)   письмо автору
 
   для: Hunter   (26.09.2006 в 13:41)
 

Надо изменить порядок сортировки на обратный и выбрать первую (LIMIT 1).

   
 
 автор: name   (26.09.2006 в 15:14)   письмо автору
 
   для: Hunter   (26.09.2006 в 13:41)
 


<?php
$query 
"SELECT MAX(id) FROM table";
?>

   
 
 автор: SoloNifer   (28.09.2006 в 01:25)   письмо автору
 
   для: name   (26.09.2006 в 15:14)
 

Лучше сделать так!


select * from `где-то` order by id desc limit 1


И скорость высокая, и построение запроса разумное

   
 
 автор: Jim Say   (28.09.2006 в 11:04)   письмо автору
 
   для: Hunter   (26.09.2006 в 13:41)
 

1) Сразу после вставки новой стоки в таблицу table с использованием оператора INSERT
( если ключевое поле id этой таблицы имеет атрибут AUTO_INCREMENT,
И ПРИ ЭТОМ в операторе INSERT полю id присваивалось значение NULL )
можно использовать следующую конструкцию с вызовом системной функции LAST_INSERT_ID() :

SELECT * FROM table WHERE id = LAST_INSERT_ID()


2) В более общем случае
( если ключевое поле id таблицы table имеет атрибут AUTO_INCREMENT )
можно использовать следующую конструкцию :

SELECT * FROM table WHERE id = (SELECT max(id) FROM table)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования