Помощник
|
Проверка формы |
coolol
|
Сообщение
#1
|
||
|
|
||
|
|||
Flok |
8.8.2010, 2:09;
Ответить: Flok
Сообщение
#2
|
|
auto_increment - этот параметр заставляет mysql хранить некую переменную-счетчик записей, дабы у каждой записи был свой уникальный порядковый номер. единственный известный мне способ обнулить счетчик - очистить таблицу.
sql запрос будет выглядеть так: TRUNCATE TABLE `таблица` при этом сотрутся все записи в таблице. Позвольте узнать, а чем вам мешает нумерация от 94 строки? ) |
|
|
coolol
|
Сообщение
#3
|
|
Я низнаю как организовать прядковый номер у каждого сообщения, думал что через id можно выводить. Как можно это сделать?
|
|
|
coolol
|
Сообщение
#4
|
|
Сделал так:
[PHP] include ('connect.php'); $lor = "hello"; $log = "nndmd"; //делаем нумерацию $ressump = mysql_query ("SELECT `id` FROM `inputform`",$db); $sumapolei = mysql_num_rows($ressump); $sumapolei = $sumapolei + 1; //Сообщение в базу $qwqw = mysql_query ("INSERT INTO `inputform` (title,name,number) VALUES ('$lor','$log','$sumapolei')",$db); [/PHP] Хотел спросить это логично? Или потом что нибудь может повылезать или случайно собъется нумерация? Как еще можно сделать нумерацию сообщений? |
|
|
Flok |
8.8.2010, 11:49;
Ответить: Flok
Сообщение
#5
|
|
у вас же поле id уже содержит параметр auto_increment
в переводе с английского - авто_приращение. то есть вы не должны трогать этот параметр вообще, нумерация новых строк идёт автоматически. пример: [php] $qwqw = mysql_query ("INSERT INTO `inputform` (login) VALUES ('вася'), ('петя'), ('коля')"); [/php]получится таблица: +---------+--------+ заметьте, что никаких плюсований мы не делаем, каждая новое значение id наращивается автоматически. | id | Login | +---------+--------+ | 1 | вася | +---------+--------+ | 2 | петя | +---------+--------+ | 3 | коля | +---------+--------+ если удалить строчки 1 вася, 3 коля, а потом добавить , Андрея, то таблица примет вид: +---------+--------+ id у андрея автоматически заполняется на основе последней записи. у последне записи id был 3, значит при любом раскладе у андрея id будет четвёркой.| id | Login | +---------+--------+ | 2 | петя | +---------+--------+ | 4 |Андрей | +---------+--------+ даже если у нас будет 100 записей, а потом мы из всех удалим через [php]$qwqw = mysql_query ("DELETE FROM `inputform`");[/php]то у новой записи всё равно будет порядковый номер 101. Это сделано для того, чтобы избежать ошибок повторения. таким образом каждая запись за всю историю вселенной будет иметь лишь один порядковый номер id, и ни одна другая запись не получит такой же номер ) надеюсь, понятно разъяснил ) |
|
|
coolol
|
Сообщение
#6
|
|
надеюсь, понятно разъяснил ) Да, спасибо. Значит нужно удалить таблицу, создать новую, чтобы нумерация опять началась со id=1. Ну а если надо будет удалить сообщение пользователя, тогда опять все сместиться и при выводе (а я хотел нумерацию сообщений брать из id) будет так: Сообщение №254. Текст Сообщение №256. Текст Сообщение №257. Текст |
|
|
Flok |
8.8.2010, 12:14;
Ответить: Flok
Сообщение
#7
|
|
таблицу удалять не надо, как я писал в первом сообщении, достаточно сделать её очистку
[php]$qwqw = mysql_query ("TRUNCATE TABLE `inputform`"); [/php]а то, что нумерация идёт 254, 256, 257, это даже хорошо. допустим, есть таблица с сообщениями. она содержит колонки "кому" и "от кого" допустим, есть сообщение от 257 к 256му. его может прочитать только отправитель и получатель. если по каким-то причинам мы удаляем 256-го пользователя, то ни в коем случае нельзя допустить, что бы новый зарегистрированный пользователь мог получить номер 256, иначе он прочтет сообщение, адресованное не ему. поэтому и делают так, что за всё время только одна запись получает конкретный номер. Поверьте, красота цифр никак не влияет на работу сайта, поэтому можно спать спокойно, зная, что в таблице номера идут в порядке 1, 3, 150, 276 ))) |
|
|
Mulder_hb |
8.8.2010, 12:20;
Ответить: Mulder_hb
Сообщение
#8
|
|
Хотел проверить вводимые данные в форму и удалить все вводимые html тэги. Но при добавлении например вот этого <dvssegsaeg> оно не выводится, а в базу заносится. Показывайте скрипт. Числа заносятся правильно в поле id, но начинается оно с 11, если я например удалил первые 10 напрямую из PHPMyAdmin. Никогда в ручную не изменяйте автоинкрементирующее поле - вы можете нарушить целостность данных таблицы, что приведет к тяжелейшим последствиям. Для установки нужного автоинкрементирующего поля существует команда: ALTER TABLE `имя_таблицы` auto_increment = 1; Но эту команду стоит применять очень осторожно, четко понимая, что делаешь и каковы последствия. |
|
|
coolol
|
Сообщение
#9
|
|
Спасибо, Flok.
|
|
|
Mulder_hb |
8.8.2010, 12:24;
Ответить: Mulder_hb
Сообщение
#10
|
|
Ну а если надо будет удалить сообщение пользователя, тогда опять все сместиться и при выводе (а я хотел нумерацию сообщений брать из id) будет так: Если вам цифры нужны для отображения, то создайте еще одно поле, где будут идти номера сообщений. Но все проверки в запросах, все равно производите по id: id | number
1 | 1 2 | 2 4 | 3 |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Проверка позиций сайтов в поисковых системах с помощью Positon.ru Мониторинг продвижения сайтов |
183 | Positon | 179463 | 12.4.2024, 8:32 автор: Positon |
|
Рассылка ваших сообщений в контакт формы! | 3 | dizaynmaks | 1704 | 18.4.2022, 9:04 автор: dizaynmaks |
|
Делаю простые формы заказов с оплатой прочитал-оформил-оплатил |
3 | Taylor | 2821 | 13.6.2018, 0:34 автор: Taylor |
|
Проверка качества прогона по трастовым сайтам, профилям, каталогам | 0 | bestweb20_mw | 1400 | 21.12.2017, 18:36 автор: bestweb20_mw |
|
Доработка формы вывода фильтра товара и формы заказа. Webasyst ShopScript7 | 0 | rmoto | 2744 | 12.12.2017, 1:13 автор: -Arturrfmoto- |
Текстовая версия | Сейчас: 18.4.2024, 15:33 |