|
|
|
| В таблице нет уникальных значений. Вопрос, каким образом, можно удалить строку введенную первой? То есть грубо говоря:
$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), а самая первая? | |
|
|
|
|
|
|
|
для: babilonian
(31.01.2006 в 23:24)
| | Попробуйте вставить в таблицу автоинкрементное поле | |
|
|
|
|
|
|
|
для: Саша
(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 );
}
}
|
| |
|
|
|
|
|
|
|
для: babilonian
(31.01.2006 в 23:24)
| | в таких случиях лучше всего включать id счетчик и удалить те значения у которых это значение (min) | |
|
|
|
|
|
|
|
для: babilonian
(31.01.2006 в 23:24)
| | в таких случиях лучше всего включать id счетчик и удалить те значения у которых это значение (min) | |
|
|
|