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

Форум MySQL

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

 

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

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

тема: Делов на пять копеек или проблема с delete
 
 автор: babilonian   (31.01.2006 в 23:24)   письмо автору
 
 

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

$result = mysql_query("SELECT * FROM table ORDER BY date DESC");
 $num_rows = mysql_num_rows($result);
 if($num_rows>20){mysql_query("DELETE FROM table ...................");}

а вот дальше что писать, после DELETE FROM table? Как отсортировать так, чтобы удалялась не последняя, в данном случае 21 строка (LIMIT 1), а самая первая?

   
 
 автор: Саша   (01.02.2006 в 13:30)   письмо автору
 
   для: babilonian   (31.01.2006 в 23:24)
 

Попробуйте вставить в таблицу автоинкрементное поле

   
 
 автор: Саша   (01.02.2006 в 13:40)   письмо автору
 
   для: Саша   (01.02.2006 в 13:30)
 

Или вроде этого, на ошибки не проверял....

$query_test = "SHOW FIELDS FROM table";
$re = mysql_query ($query_test) or die (mysql_error());
$i = 0;
while ($rrr = mysql_fetch_array ($re)) 
{
  $field[$i++] = $rrr [ 0 ];
}
$result = mysql_query("SELECT * FROM table ORDER BY date DESC"); 
$num_rows = mysql_num_rows($result); 
$i = 0;
while ( $row = mysql_fetch_array ( $result ) )
{
  if ( $num_rows == ++$i )
  {
    for ($i = 0; $i < count ( $field ); $i++)
    {
      $delsub .= $i == (count ( $field ) - 1) ? $field [ $i ] . " = " . $row [ $i ] : $field [ $i ] . " = " . $row [ $i ] . " and ";      
    }
  mysql_query ( "DELETE FROM table where " . $delsub );
  }
}

   
 
 автор: Армянин   (01.02.2006 в 15:02)   письмо автору
 
   для: babilonian   (31.01.2006 в 23:24)
 

в таких случиях лучше всего включать id счетчик и удалить те значения у которых это значение (min)

   
 
 автор: Армянин   (01.02.2006 в 15:03)   письмо автору
 
   для: babilonian   (31.01.2006 в 23:24)
 

в таких случиях лучше всего включать id счетчик и удалить те значения у которых это значение (min)

   
Rambler's Top100
вверх

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