Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.07.2010, 13:55   #11
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Если у вас не предвидится более 4-ёх МИЛЛИАРДОВ записей, то можете спать спокойно. В базу MySQL можно спокойно добавлять "неограниченное" количество записей (мест).

По поводу добавления большого количества полей с одинаковыми названиями - можно отсылать многомерные массивы.
Написать Javascript функцию, которая бы создавала все поля для одного места типа
Код HTML:
<input type="text" name="place[0][city]" />
<input type="text" name="place[0][street]" />
и т.д.
При нажатии добавить поле, она должна создать ещё группу полей
Код HTML:
<input type="text" name="place[1][city]" />
<input type="text" name="place[1][street]" />
и т.д.

Как видишь, нужно просто изменить 0 на 1. Используй переменную для этого и всё будет тип-топ.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 28.07.2010, 18:31   #12
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

А как сделать функцию "при клике вставить элементы с цифрой 1 в имени"?Ну а после я отослал данные, что должен делать сервер? while ($i){...$_POST['masiv_в_каком-то_виде'];}. Ну я еще ничего не понял=)
Krasi вне форума Ответить с цитированием
Старый 29.07.2010, 11:18   #13
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Цитата:
при клике вставить элементы с цифрой 1 в имени
Это вам в раздел с JavaScript. Что-то типа:
Код HTML:
<html>
<body>

<script language="javascript">
var items=1;
function AddItem() {
  div=document.getElementById("items");
  button=document.getElementById("add");
  newitem="<strong>Поле " + items + "-city: </strong>";
  newitem+="<input type=\"text\" name=\"item[" + items + "][city]";
  newitem+="\" size=\"45\" /><br />";
  newitem+="<strong>Поле " + items + "-street: </strong>";
  newitem+="<input type=\"text\" name=\"item[" + items + "][street]";
  newitem+="\" size=\"45\" /><br />";
  newnode=document.createElement("span");
  newnode.innerHTML=newitem;
  div.insertBefore(newnode,button);
  items++;
}
</script>

<div ID="items">
<strong>Поле 0-city: </strong><input type="text" name="item[0][city]" size="45" /><br />
<strong>Поле 0-street: </strong><input type="text" name="item[0][street]" size="45" /><br />
<input type="button" value="Добавить поле" onClick="AddItem();" ID="add">
</div>
</body>
</html>
А после этого сервер получает массив $_POST['item'] и работает с ним как с обычным массивом. Делаете проход по массиву и вперёд.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 29.07.2010, 13:59   #14
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

То, что надо. Но остановился на том, что добавляет элементы так: сначала в названии появляется "1", затем "undefined", в конце концов - "NAN".
Krasi вне форума Ответить с цитированием
Старый 29.07.2010, 23:12   #15
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Значит вы плохо скопировали мой код.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 30.07.2010, 12:28   #16
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

Все работает. Просто в java тегах у меня до вставки кода стояла какая-то ошибочная строка. Может она просто как-то воздействовало на выполнения кода, но она мне пока была не нужна, я ее удалил, и теперь все работает.

Последний раз редактировалось Krasi; 30.07.2010 в 12:34.
Krasi вне форума Ответить с цитированием
Старый 30.07.2010, 12:35   #17
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

А зачем тут нужны теги strong?
Krasi вне форума Ответить с цитированием
Старый 30.07.2010, 13:02   #18
Linel
Форумчанин
 
Аватар для Linel
 
Регистрация: 21.02.2009
Сообщений: 372
По умолчанию

Цитата:
Сообщение от Krasi Посмотреть сообщение
А зачем тут нужны теги strong?
Тег <STRONG> предназначен для акцентирования текста. Браузеры отображают такой текст жирным начертанием.

В гугле полно информации по всем HTML тегам.
No name. Just Linel.
Linel вне форума Ответить с цитированием
Старый 30.07.2010, 13:45   #19
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

Ну то есть просто так?=) Ну иду дальше. Теперь надо учесть еще и предыдущие выведенные группы элементов "insert". Продолжим рассмотрение примера, когда мне нужно java scriptom выводить всего два поля: "city" & "street". Теперь я не просто вывожу одну группу из двух полей, а потом при нажатии на кнопку добавляю такую же группу. Теперь сначала я беру из базы данных уже созданные поля, затем, делая loop или foreach, вывожу вместо одной группы пустяшек множество заполненных полей. Внизу дописываю кнопку "добавить чистую группу полей". Пользователь заполняет чистую группу, но может и отредактировать уже сразу выведенные заполненные заранее из базы поля. Массив со всеми данными при нажатии на "обновить информацию" передается на обработку, там уже надо будет думать с запросами. Но сейчас проблема в том, что тех заполненных полей, в которые выводятся значения из базы, не постоянное число.
1. Я вывожу поля лупом:
Код:
<table><tr>
{section name=ololo_loop loop=$ololo}<td>
<input type="text" name="item[ololo_loop][city]" value="{$ololo[ololo_loop].city}"/><br/>
<input type="text" name="item[ololo_loop][street]" value="{$ololo[ololo_loop].street}"/><br/>
{/section}</tr></table>
ololo_loop в названии не работает (строка). Можно записывать в нумерацию id. Но
2. Как оформить нумерацию в javascript? Если на html делать нумерацию по id, то нужно передать в скрипт такое значение, начиная с которого id бы не повторялось с выведенным в html.
Krasi вне форума Ответить с цитированием
Старый 30.07.2010, 15:27   #20
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Я в уме держу такую схему передачи данных.
PHP >>> Javascript >>> HTML

Цитата:
{section name=ololo_loop loop=$ololo}
PHP?
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сводная таблица данных из многих файлов Excel Aleksandr-St Microsoft Office Excel 0 26.05.2010 13:48
У многих игр сейчас присутствуют клиенты, как организовать его? The Best Общие вопросы Delphi 8 30.07.2009 20:34
Циклически задать однотипные параметры для многих компонентов единого класса chandrasecar Общие вопросы Delphi 4 25.01.2009 00:18
Перенос данных из одной книги со многих листов в другую gavrylyuk Microsoft Office Excel 34 20.07.2008 21:39
С паскалем как и у многих проблемы,прошу помощи. Две задачи: интегральная и графическая. Loyal Помощь студентам 3 27.09.2007 09:46