X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Проверка формы
coolol
coolol
Topic Starter сообщение 8.8.2010, 1:13; Ответить: coolol
Сообщение #1


Здравствуйте.
Хотел проверить вводимые данные в форму и удалить все вводимые html тэги. Но при добавлении например вот этого <dvssegsaeg> оно не выводится, а в базу заносится.

Еще хотел спросить когда при создании таблицы я создал вот такое поле:

Поле-id Тип-int(1) Сравнение-пусто Атрибуты-пусто Null-нет По умолчанию-нет Дополнительно-auto_increment

Числа заносятся правильно в поле id, но начинается оно с 11, если я например удалил первые 10 напрямую из PHPMyAdmin. И вот у меня сейчас в поле id первая запись под номером 94. Как сделать, чтобы при удалении, поле id начиналось с 1? Хочу по из id нумеровать запись оставленную пользователем. Подскажите кто чем может...


Извеняюсь за новую тему... Случайно появилась. У меня время истекло и пришось вводить логин с паролем, а страница не перезагрузилась я пару раз назад нажимал...Вобщем извеняюсь
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Flok
Flok
сообщение 8.8.2010, 2:09; Ответить: Flok
Сообщение #2


auto_increment - этот параметр заставляет mysql хранить некую переменную-счетчик записей, дабы у каждой записи был свой уникальный порядковый номер. единственный известный мне способ обнулить счетчик - очистить таблицу.

sql запрос будет выглядеть так:

TRUNCATE  TABLE  `таблица`


при этом сотрутся все записи в таблице.

Позвольте узнать, а чем вам мешает нумерация от 94 строки? )
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
coolol
coolol
Topic Starter сообщение 8.8.2010, 10:21; Ответить: coolol
Сообщение #3


Я низнаю как организовать прядковый номер у каждого сообщения, думал что через id можно выводить. Как можно это сделать?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
coolol
coolol
Topic Starter сообщение 8.8.2010, 10:52; Ответить: 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
Flok
сообщение 8.8.2010, 11:49; Ответить: Flok
Сообщение #5


у вас же поле id уже содержит параметр auto_increment
в переводе с английского - авто_приращение.
то есть вы не должны трогать этот параметр вообще, нумерация новых строк идёт автоматически.

пример:
[php]
$qwqw = mysql_query ("INSERT INTO `inputform` (login) VALUES ('вася'), ('петя'), ('коля')");
[/php]получится таблица:

+---------+--------+
|   id    |  Login |
+---------+--------+
|    1   |    вася |
+---------+--------+
|    2    |  петя  |
+---------+--------+
|    3    |  коля  |
+---------+--------+
заметьте, что никаких плюсований мы не делаем, каждая новое значение id наращивается автоматически.

если удалить строчки 1 вася, 3 коля, а потом добавить , Андрея, то таблица примет вид:

+---------+--------+
|   id    |  Login |
+---------+--------+
|    2    |  петя  |
+---------+--------+
|    4    |Андрей  |
+---------+--------+
id у андрея автоматически заполняется на основе последней записи. у последне записи id был 3, значит при любом раскладе у андрея id будет четвёркой.

даже если у нас будет 100 записей, а потом мы из всех удалим через [php]$qwqw = mysql_query ("DELETE FROM `inputform`");[/php]то у новой записи всё равно будет порядковый номер 101. Это сделано для того, чтобы избежать ошибок повторения.
таким образом каждая запись за всю историю вселенной будет иметь лишь один порядковый номер id, и ни одна другая запись не получит такой же номер )

надеюсь, понятно разъяснил )
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
coolol
coolol
Topic Starter сообщение 8.8.2010, 12:05; Ответить: coolol
Сообщение #6


(Flok @ 8.8.2010, 14:49) *
надеюсь, понятно разъяснил )

Да, спасибо.

Значит нужно удалить таблицу, создать новую, чтобы нумерация опять началась со id=1. Ну а если надо будет удалить сообщение пользователя, тогда опять все сместиться и при выводе (а я хотел нумерацию сообщений брать из id) будет так:

Сообщение №254. Текст
Сообщение №256. Текст
Сообщение №257. Текст
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Flok
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
Mulder_hb
сообщение 8.8.2010, 12:20; Ответить: Mulder_hb
Сообщение #8


(coolol @ 8.8.2010, 04:13) *
Хотел проверить вводимые данные в форму и удалить все вводимые html тэги. Но при добавлении например вот этого <dvssegsaeg> оно не выводится, а в базу заносится.

Показывайте скрипт.
(coolol @ 8.8.2010, 04:13) *
Числа заносятся правильно в поле id, но начинается оно с 11, если я например удалил первые 10 напрямую из PHPMyAdmin.

Никогда в ручную не изменяйте автоинкрементирующее поле - вы можете нарушить целостность данных таблицы, что приведет к тяжелейшим последствиям.
Для установки нужного автоинкрементирующего поля существует команда:
ALTER TABLE `имя_таблицы` auto_increment = 1;

Но эту команду стоит применять очень осторожно, четко понимая, что делаешь и каковы последствия.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
coolol
coolol
Topic Starter сообщение 8.8.2010, 12:23; Ответить: coolol
Сообщение #9


Спасибо, Flok.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 8.8.2010, 12:24; Ответить: Mulder_hb
Сообщение #10


(coolol @ 8.8.2010, 15:05) *
Ну а если надо будет удалить сообщение пользователя, тогда опять все сместиться и при выводе (а я хотел нумерацию сообщений брать из id) будет так:

Если вам цифры нужны для отображения, то создайте еще одно поле, где будут идти номера сообщений. Но все проверки в запросах, все равно производите по id:
  id  |  number
  1   |  1
  2   |  2
  4   |  3
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Проверка позиций сайтов в поисковых системах с помощью Positon.ru
Мониторинг продвижения сайтов
182 Positon 178940 23.2.2024, 9:53
автор: Positon
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыРассылка ваших сообщений в контакт формы!
3 dizaynmaks 1682 18.4.2022, 9:04
автор: dizaynmaks
Открытая тема (нет новых ответов) Делаю простые формы заказов с оплатой
прочитал-оформил-оплатил
3 Taylor 2793 13.6.2018, 0:34
автор: Taylor
Открытая тема (нет новых ответов) Проверка качества прогона по трастовым сайтам, профилям, каталогам
0 bestweb20_mw 1383 21.12.2017, 18:36
автор: bestweb20_mw
Открытая тема (нет новых ответов) Доработка формы вывода фильтра товара и формы заказа. Webasyst ShopScript7
0 rmoto 2722 12.12.2017, 1:13
автор: -Arturrfmoto-


 



RSS Текстовая версия Сейчас: 29.3.2024, 0:37
Дизайн