|
|
|
| Имеется таблица, из которой хочу вывести последюю строчку, как это можно реализовать? | |
|
|
|
|
|
|
|
для: 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 есть какая-то функиця для просмотря последней записи, но я её не помню :) | |
|
|
|
|
|
|
|
для: DEM
(26.09.2006 в 14:04)
| | По-моему это - mysql_insert_id(). Принимает в качестве параметра идентификатор соед. | |
|
|
|
|
|
|
|
для: Hunter
(26.09.2006 в 13:41)
| | Надо изменить порядок сортировки на обратный и выбрать первую (LIMIT 1). | |
|
|
|
|
|
|
|
для: Hunter
(26.09.2006 в 13:41)
| |
<?php
$query = "SELECT MAX(id) FROM table";
?>
|
| |
|
|
|
|
|
|
|
для: name
(26.09.2006 в 15:14)
| | Лучше сделать так!
select * from `где-то` order by id desc limit 1
|
И скорость высокая, и построение запроса разумное | |
|
|
|
|
|
|
|
для: 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) | |
|
|
|