Jump to content
  • 0

Список с возможностью ввода доп.записи


Zvezdochet
 Share

Question

Добрый день!

Помогите с реализацией задумки.

Имется таблица из 3-х столбцов.

ip - ucastnik - address

Нужно сделать форму для добавления новых данных так чтобы при добавлении была возможность указать несколько значений поля ip для одних значений ucastnik и address.

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0

Лучшее враг хорошего. Я бы сделал вместо одной таблицы три. Реализация зависит от того, каким функционалом должна обладать система, которая будет оперировать с этими данными. Для большей гибкости и функциональности, я бы предложил примерно такую схему:


/* таблица где хранятся все ip в числовом виде. Для этого в mysql есть функции, искать по INET_ATON или "mysql ip function" */
CREATE TABLE `ip` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`ip` INT(10) UNSIGNED NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `ip` (`ip`)
)
/* таблица с пользователями и их адресами. */
CREATE TABLE `users` (
`id` INT(10) UNSIGNED NULL AUTO_INCREMENT,
`user` VARCHAR(255) NULL,
`address` VARCHAR(255) NULL,
PRIMARY KEY (`id`)
)
/* самое главное - соответствие ip-шек пользователям. */
CREATE TABLE `users_ip` (
`id` INT(10) UNSIGNED NULL AUTO_INCREMENT,
`user_id` INT(10) UNSIGNED NULL,
`ip_id` INT(10) UNSIGNED NULL,
PRIMARY KEY (`id`)
)

Не забывайте, что в реальности на одном ip может быть несколько человек, а не только наоборот.

Link to comment
Share on other sites

  • 0

Быколай, IP здесь не совсем IP address. Просто интерпретация. В моем случае возможен только вариант несколько значений ip для одной связки ucastnik и address. Хотелось бы реализовать в одной таблице. Главный вопрос -как это осуществить в HTML?

Vlad, прошу прощения,что не уточнил сразу - таблица в БД.

В идеале должна представлять из себя

ip - ucastnik - address

100100 - Участник1 -Адрес1

100101 - Участник1 -Адрес1

100102 - Участник1 -Адрес1

100103 - Участник2 -Адрес2

Т.е. в форме ввода данных должно быть одно поле для ввода ucastnik, одно для address и произвольное количество для ip.

Edited by Zvezdochet
Link to comment
Share on other sites

  • 0

Т.е. в форме ввода данных должно быть одно поле для ввода ucastnik, одно для address и произвольное количество для ip.

вариант: аяксом генерить дополнительные инпуты (наверняка видели такие на разных сервисах), по нажатию плюсика, какого-нибудь. в итоге на сервере принимать от них массив. в цикле записывать.

Link to comment
Share on other sites

  • 0

И зачем тут аякс? Инпут вставляется обычной работой с DOM. Что с сервера-то собрались запрашивать для пустого инпута?

ну да, Int прав, вернее будет сказать просто javascript. Это я не точно выразился.

Zvezdochet, не так страшен чёрт как его малютки. Думаю быстро разберётесь. :)

Edited by Быколай
Link to comment
Share on other sites

  • 0

Так проблема создать несколько input на странице или что?

аяксом генерить дополнительные инпуты
Всё равно я прав, не нужен для этого аякс.

не проблема, а задача. да, Int, ты категорически и безапелляционно прав :)

собственно, примитивный код на jQuery. По нажатию на ссылку с классом add, в форму добавляется ещё один инпут.


<script src="/js/jquery.js"></script>
<script>
$(function()
{
$("a.add").bind("click", function()
{
$("form").append('<input name="ip[]" type="text" value="...." />');
});
});
</script>
<a class="add" href="#">ещё один ip</a>
<form method="post">
<input type="submit"/>
</form>

Edited by Быколай
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy