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

Форум MySQL

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

 

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

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

тема: удаление записи из таблици
 
 автор: 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;    
    }
}

   
 
 автор: elenaki   (14.02.2006 в 11:18)   письмо автору
 
   для: inga   (14.02.2006 в 10:56)
 

потому что запрос неправильно составлен. я вам ответила в другой теме. кстати, про ПЕРВУЮ
запись там не было ни слова. вы хотели удалить последнюю, вроде.

   
 
 автор: inga   (14.02.2006 в 11:31)   письмо автору
 
   для: elenaki   (14.02.2006 в 11:18)
 

пробывала так как вы мне писали так тоже не работает

   
 
 автор: elenaki   (14.02.2006 в 11:39)   письмо автору
 
   для: 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. сравнить с условием

if ($id > $num)


4. если id больше - сделать запрос на удаление строки с этим id

$sql = "DELETE from $table WHERE id = $id";


допускаю, что можно сделать и короче. просто хочется, чтобы было понятно. вы объединяете в одном запрoсе два - это ошибка.

   
Rambler's Top100
вверх

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