PHP: $result_c = mysql_query("SELECT id FROM users"); $i=mysql_num_rows($result_c); $id=$i+1; $add="INSERT INTO users VALUES($id,'$surname','$name','$patronymic')"; $insert=mysql_query($add); if (!$insert) { echo 'Технические проблемы, не добавить'; } else { echo "Пользователь добавлен"; } mysql_close($link); } ?> В общем вот часть кода. Она работает. но не совершенно) В общем если добавлять записи через поля формы и нажимая кнопку добавить, то записи добавляются. ид возрастают. то есть 1, 2, 3, 4, 5, и т.д. но вот незадача. Если удалить запись с ид 2 например. то после этого записи не добавляются. Как сделать чтобы при добавлении новая запись заполнила свободный ид? или 2, или дальше 5. не принципиально. запутался.
а у тебя id в таблице БД автоинкремент? С виду по коду, нет. Сделай его автоинкрементом и тогда проблема отпадет
Да, поле авто инкремент. я же написал что записи добавляются с возрастающи ид=) PHP: $selectdb=mysql_select_db($db_name); if(!$selectdb) { echo "We can't select database!"; exit; } else { $add="INSERT INTO users VALUES('','$surname','$name','$patronymic')"; $insert=mysql_query($add); if (!$insert) { echo 'Технические проблемы, не добавить'; } else { echo "Пользователь добавлен"; } mysql_close($link); } вопрос решен. просто я заного начислял ид. и получалось что толи он занят, то ли еще что. Вопрос другой теперь, чисто ради своего интереса. Какие параметры поставить у поля ид, чтобы тот при добавлении записи брал первый свободный ид? вроде читал где то такое есть, как реализовать? спасибо. Допустим добавлено 5 записей. удалены 2 и 3. и при добавлении новой запись заняла ид 2, потом ид 3, и потом далее 6, 7 и т.д.. Спасибо
eXtreme не делай так и забудь об этом и живи счастливо. хочешь номерки? морочься с номерками. А праймари индекс автоинкремент id - трогать не надо. Никогда. Оно не для людей.
eXtreme закрепим примером: у тебя есть вася с id=2 у тебя есть сообщение от васи (который с id=2) после чего вася в сердцах от неразделенной любви к тебе самоудаляется. после чего приходит петя, регается и получает свободный id=2 и сообщение от васи превращается в сообщение от пети, что не так. id - это билет в один конец.