| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > добавление данных в бд после удаления данных |
| Автор: student2008 4.1.2009, 17:33 |
| в таблице 3 строки id text 1 some text 2 some text 3 some text после удаления 2 строки (DELETE) пытаюсь добавить данные, для этого определяю номер по id $count = mysql_numrows для новой записи нажимаю ок и ничего не добавляется =( если тоже самое повторить с последним добавленным id то всё ок, видимо проблемма (точнее моё не понимание функции mysql_numrows) если кто-то знает в чём дело помогите |
| Автор: krundetz 4.1.2009, 17:39 |
| student2008, чето странно ты все делаешь, у тебя поле id аутоинкрементное или нет? если да то зачем тебе вообще указывать id просто добавляй данные а id сам подставиться следующий за последним добавленым? |
| Автор: godvinn 4.1.2009, 17:41 |
| student2008 может представишь отрывок кода который это все делает*? тогда и проблемма будет яснее |
| Автор: student2008 4.1.2009, 17:45 | ||
добавление новости что такое аутоинкрементное не знаю |
| Автор: godvinn 4.1.2009, 17:52 |
| mysql_numrows - зачем ты вот это используешь нельзя ли просто отправлять запрос*? и вообщето mysql_num_rows так правильно пишется если меня память не подводит |
| Автор: student2008 4.1.2009, 17:56 | ||
таже байда |
| Автор: godvinn 4.1.2009, 17:59 |
| посмотри лучше на количество полей в своей таблице, или приведи структуру своей таблицы newses |
| Автор: student2008 4.1.2009, 18:04 | ||
|
| Автор: student2008 4.1.2009, 18:22 |
| godvinn, спасибо большое поставил аутоинкремент и всё заработало, но в базе уже есть 20 записей как теперь их отсортировать чтобы у всех id шёл одни за другим (0,1,2...) а не как сейчас (1,2,3,4,6...) руками править очень долго. |
| Автор: godvinn 4.1.2009, 18:35 |
| ты хочешь чтобы в самой базе хранилось один за другим*? или при выводе если при выводе поставь в запросе ORDER BY ..поле по которому будешь сортировать..(обычно id) ASC |
| Автор: student2008 4.1.2009, 18:41 |
| godvinn, да чтобы в базе один за другим (те отсортировать надо) |
| Автор: godvinn 4.1.2009, 18:45 |
| попробуй выполнить запрос ALTER TABLE `имя таблицы` ORDER BY `поле по которому будешь сортировать` ASC" |
| Автор: krundetz 5.1.2009, 01:33 | ||
student2008, во первых ты плохо читаешь про аутоинкремент я тебе написал давно, во вторых если ты хочешь получить последовательное следование идентификаторов в таблице то, необходимо аутоинкремент убрать и за уникальностью каждого индекса следить отдельно, причем у тебе необходимо предусмотреть перетряску всех индексов при удаление одно из элементов, в третьих так как ты хочешь сделать обычно не делают, тоесть уникальный идентификатор он и есть уникальный идентификатор и если ты его постоянно меняеш, а именно это и будет происходит при удаление строк, то теряется сам смысл уникального идентификатора. Обясни пожалуйста зачем тебе вдруг это понадобилось?
у аутоинкрементного поля индексы начинаются с 1, а не с нуля student2008 советую найти толковый учебник по MySQ |
| Автор: student2008 5.1.2009, 15:54 |
| krundetz, godvinn, спасибо большое |