Если я понял ваш вопрос, вы можете попробовать этот код:
я использовал setter и getter; document.forms. Для получения дополнительной информации вы можете прочитать:
w3schools: setter and getter
w3schools: формы проверки
другая ссылка, где вы Можно попробовать другую информацию: https://developer.mozilla.org/
JS
//object userInput
var userInput = {
num:"",
clien:"",
direc:"",
nife:"",
nifd:"",
div:"",
sub:"",
iva:"",
//method set
set setNum(num){
this.num=num;
},
set setClien(clien){
this.clien=clien;
},
set setDirec(direc){
this.direc=direc;
},
set setNife(nife){
this.nife=nife;
},
set setNifd(nifd){
this.nifd=nifd;
},
set setDiv(div){
this.div=div;
},
set setSub(sub){
this.sub=sub;
},
set setIva(iva){
this.iva=iva;
},
//method get
get getNum(){
return this.num;
},
get getClien(){
return this.clien;
},
get getDirec(){
return this.direc;
},
get getNife(){
return this.nife;
},
get getNifd(){
return this.nifd;
},
get getDiv(){
return this.div;
},
get getSub(){
return this.sub;
},
get getIva(){
return this.iva;
}
};
function myFunction2(){
const myForm=document.forms["formu"];//form
//put into object UserInput the user value
userInput.setNum=myForm["num"].value;
userInput.setClien=myForm["clien"].value;
userInput.setDirec=myForm["direc"].value;
//and so on...
//print the value present in userInput object
console.log(userInput.getNum);
console.log(userInput.getClien);
console.log(userInput.getDirec);
return false;
}
HTML [1119 ]
Фрагмент кода
Form
Надеюсь, это поможет
]
Необходимо смочь сделать 200, вставляет относительно быстро, но это будет зависеть от большого количества факторов. Если Вы используете транзакционный механизм и делаете каждого в его собственной транзакции, не делайте - который создает слишком много ввода-вывода.
При использовании нетранзакционного механизма это немного более хитро. Используя единственную многострочную вставку, вероятно, будет лучше, поскольку политика сбрасывания MySQL означает, что это не должно будет сбрасывать свои изменения после каждой строки.
Вы действительно хотите смочь воспроизвести это на своем поле разработки производственной спецификации и проанализировать точно, почему это происходит. Не должно быть трудно остановиться.
Конечно, другая возможность состоит в том, что Ваши вставки являются медленными из-за измеренных таблиц экстремального значения или больших количеств индексов - в этом случае необходимо масштабировать сервер базы данных соответственно. Вставка большого количества строк в таблицу, индексы которой не вписываются в RAM (или не настроили RAM правильно, чтобы использоваться для кэширования тех индексов) обычно становится довольно вонючей.
НО не пытайтесь искать способ усложнить Ваше приложение, когда будет способ легкого превращения его вместо этого, сохраняя текущий алгоритм.
Я подозревал бы, что проблема с Вашим SQL вставляет - это действительно не должно занимать у этого много времени. Подготовленные запросы помогли бы? Вашему mysql серверу нужна еще некоторая память, выделенная ключевому пространству? Я думаю, что еще для некоторых вопросов нужно спрошенный.
Можно обновить локальный кэш (надо надеяться, memcached) и затем продвинуть запросы записи через beanstalkd.
Как Вы делаете вставки, Вы делаете, каждый вставляет на запись
mysql_query('INSERT INTO tableName VALUES(...)');
mysql_query('INSERT INTO tableName VALUES(...)');
mysql_query('INSERT INTO tableName VALUES(...)');
mysql_query('INSERT INTO tableName VALUES(...)');
mysql_query('INSERT INTO tableName VALUES(...)');
или Вы используете единый запрос
mysql_query('INSERT INTO tableName VALUES(...),(...),(...),(...)');
Позже этих двух опций существенно быстрее, и на основе опыта первая опция заставит это брать намного дольше, поскольку PHP должен ожидать первого запроса для окончания прежде, чем переместиться во второе и так далее.
Еще одно решение, которое Вы могли использовать (вместо того, чтобы настроить mysql :)) состоит в том, чтобы использовать некоторый сервер JMS и ЗАТОПТАТЬ драйвер соединения для PHP для данных записи к серверу базы данных асинхронным способом. ActiveMQ имеют встроенную поддержку, ТОПЧУТ протокол. И существует проект StompConnect, который является, ТОПЧУТ прокси для любого совместимого сервера JMS (OpenMQ, JBossMQ и т.д.).
Посмотрите на статистику для своей базы данных, в то время как Вы делаете вставки. Я предполагаю, что одно из Ваших обновлений блокирует таблицу, и для этого все Ваши операторы стоятся в очереди, и Вы испытываете эту задержку. Другой вещью изучить является Ваше создание индекса / обновление потому что, чем больше индексов Вы имеете на таблице, тем медленнее все UPDATE
и INSERT
операторы добираются.
Другая вещь состоит в том, что я думаю, что Вы используете MYISAM
(механизм таблицы), который блокирует всю таблицу на UPDATE.I, предлагают, чтобы Вы использовали INNODB
вместо этого. INNODB
медленнее включенный SELECT
- запросы, но быстрее на INSERT
и UPDATE
потому что это только блокирует строку, это продолжает работать а не вся таблица.
mysql_query ('INSERT INTO tableName VALUES (...), (...), (...), ( ...) ')
Приведенная выше инструкция запроса лучше. Но у нас есть другое решение для повышения производительности оператора вставки.
Выполните следующие действия ..
1. Вы просто создаете CSV (файл с разделителями-запятыми) или простой текстовый файл и записываете все данные, которые хотите вставить, используя механизм записи файлов (например, класс FileOutputStream в Java).
2. используйте эту команду
LOAD DATA INFILE 'data.txt' INTO TABLE table2
FIELDS TERMINATED BY '\t';
3, если вы не совсем понимаете эту команду, затем перейдите по ссылке