|
|
|
|
|
для: Владимир22
(30.07.2006 в 18:04)
| | покажите запрос и результат | |
|
|
|
|
|
|
|
для: RV
(30.07.2006 в 17:04)
| | RV, спасибо, но что-то никак не работает (включил все ошибки, проверил базу и пр.).
А что не так в моём коде (ведь по логике всё правильно)? Можать как-то можно его доработать? | |
|
|
|
|
|
|
|
для: Владимир22
(30.07.2006 в 16:31)
| | исправьте так
for ($i = 1; $i <= $max +1;)
включите ошибки, сделайте print_r для каждого массива, проверьте запрос и результат, откройте мануал и почитайте что делает каждая функция. | |
|
|
|
|
|
|
|
для: RV
(30.07.2006 в 06:41)
| | Что не хочет работать, даже эхом ничего не показывает...
А может можно как-то подправить мой вариант? НЕ могу понять в чём там у меня ошибка. | |
|
|
|
|
|
|
|
для: RV
(30.07.2006 в 06:38)
| | допустим можно генерировать новый массив от 1 до максимального числа из базы | |
|
|
|
|
|
|
|
для: Владимир22
(30.07.2006 в 06:32)
| | получаем из базы все порядковые номера. (допустим там числа 1 3 4 5 6 9)
берем минимальное число и максимальное которое есть среди порядковых номеров (1 9)
генерируем новый массив от минимального числа до максимального (получится 1 2 3 4 5 6 7 8 9)
сравниваем два массива
делаем новый массив с теми числами, которых нет в базе (т.е.2 7 8)
берем первое число из массива.
единственная проблема с минимальным числом в базе, если оно удалено, то первое будет самым минимальным (т.е. если идут числа в базе 3 5 6 7 8, то минимальным будет число 3 а не 1), но это легко исправить | |
|
|
|
|
|
|
|
для: RV
(30.07.2006 в 06:09)
| | Немного запутано для меня... буду пробовать.. Главное, чтобы если с последовательностью всё в порядке, то присвоило число следующее за макимальноимеющимся. | |
|
|
|
|
|
|
|
для: Владимир22
(30.07.2006 в 05:22)
| |
<?
$sql = "select id from table";
while ($result = mysql_fetch_assoc($sql))
{
$str2[] = $result;
// получаем массив $str2 = array(1, 3, 4, 5, 7); где числа это те, которое есть в базе
}
$temp_str = $str2;
$min = array_shift($temp_str);
$max = array_pop($temp_str);
$s = array();
for ($i = $min; $i <= $max;)
{
$s[] = $i;
$i++;
}
$dif = array_diff($s, $str2);
$res = array_shift($dif);
echo $res;
?>
|
| |
|
|
|
|
|
|
|
для: RV
(30.07.2006 в 05:15)
| | Это простые объявления, которые хранятся в течение короткого срока(
Мне надо именно так как я описал... | |
|
|
|
|
|
|
|
для: Владимир22
(30.07.2006 в 04:49)
| | а если мне дадут ссылку на сообщение, далее это сообщение удалится и на его место запишется новое, в итоге я приду не на то сообщение? обычно так никто не делает ибо никому не нужен порядок в порядковых номерах сообщений. | |
|
|
|
|