|
|
|
|
|
для: inga
(14.02.2006 в 11:31)
| | 1. сделать запрос на выборку максимального id (если id - autoincrement):
$sql = "select Max(id) as id from $table";
|
если нет - то выбрать 1 строку:
$sql = "select id from $table order by id DESC limit 0,1";
|
2. получить значение этого id
id_query = mysql_fetch_array($sql);
$id = $id_query['id'];
|
3. сравнить с условием
4. если id больше - сделать запрос на удаление строки с этим id
$sql = "DELETE from $table WHERE id = $id";
|
допускаю, что можно сделать и короче. просто хочется, чтобы было понятно. вы объединяете в одном запрoсе два - это ошибка. | |
|
|
|
|
|
|
|
для: elenaki
(14.02.2006 в 11:18)
| | пробывала так как вы мне писали так тоже не работает | |
|
|
|
|
|
|
|
для: inga
(14.02.2006 в 10:56)
| | потому что запрос неправильно составлен. я вам ответила в другой теме. кстати, про ПЕРВУЮ
запись там не было ни слова. вы хотели удалить последнюю, вроде. | |
|
|
|
|
|
|
| скажите почему не работает мой скрипт? я пытаюсь удалить первую запись в таблице если число записей больше чем $num. но почемуто ни чего не удаляеться
function DeleteOld($table, $num)
{
$sql = "SELECT * FROM $table";
$res = mysql_query($sql);
$count= mysql_num_rows($res);
if($count <= $num)
{
return FALSE;
}
if($count > $num)
{
$sql = "delete FROM $table ORDER BY id ASC LIMIT 1";
$res = mysql_query($sql);
return TRUE;
}
}
|
| |
|
|
|
|