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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.08.2019, 13:35   #1
volni
Форумчанин
 
Регистрация: 16.03.2019
Сообщений: 188
По умолчанию Отправка введенных данных из html таблицы на сервер

Здравствуйте, как отправлять данные из таблицы на сервер я знаю, но не знаю, как правильно это реализовать в конкретном примере.
Есть часть гостовской таблицы (рисунок 1), пользователи вводят туда данные и они отправляются на сервер, где таблица следующего вида:
Код:
CREATE TABLE IN(
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
CardIndex INT UNSIGNED,
CopyData datetime,
ReasonCopy VARCHAR(50),
CopyCome INT UNSIGNED,
CopyGo INT UNSIGNED,
PRIMARY KEY (id)
);
Самое простое, это присвоить каждой ячейке имя и сделать php запрос для каждой строки Html таблицы, если значение ячеек этой строки пустое. Есть ли более простой способ для реализации этого,т.к делать 20 одинаковых php запроса(т.к. 20 строк в гостовской таблице) не очень хочется?
Спасибо за внимание, надеюсь более менее понятно объяснил=)
Изображения
Тип файла: png 123.png (3.1 Кб, 56 просмотров)
volni вне форума Ответить с цитированием
Старый 26.08.2019, 13:40   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от volni Посмотреть сообщение
Самое простое, это присвоить каждой ячейке имя
можно использовать имя массива.
просто добавьте квадратные скобки в имя.


Цитата:
Сообщение от volni Посмотреть сообщение
и сделать php запрос для каждой строки Html таблицы, если значение ячеек этой строки пустое.
А вот это не понял.
Что Вам нужно сделать то?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.08.2019, 13:44   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
А вот это не понял.
В таблице 20 строк с полями 1, 2, 3, 4, 5, ... Вот эти 20 строк занести в бд.

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Что Вам нужно сделать то?
Например, прочитать про инсерт и узнать, что он может вставлять несколько значений, а не 20 запросов...
p51x вне форума Ответить с цитированием
Старый 26.08.2019, 14:22   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Например, прочитать про инсерт и узнать, что он может вставлять несколько значений, а не 20 запросов...
т.е. фраза
Цитата:
Сообщение от volni Посмотреть сообщение
и сделать php запрос для каждой строки Html таблицы, если значение ячеек этой строки пустое.
означает, что нужно записать в таблицуБД данные HTML, если в HTML эта строчка пустая?


Цитата:
Сообщение от p51x Посмотреть сообщение
В таблице 20 строк с полями 1, 2, 3, 4, 5, ... Вот эти 20 строк занести в бд.
впрочем, это всё не важно, я рад, что кто-то понимает, что нужно автору темы и готов ему помочь!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.08.2019, 19:25   #5
volni
Форумчанин
 
Регистрация: 16.03.2019
Сообщений: 188
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
В таблице 20 строк с полями 1, 2, 3, 4, 5, ... Вот эти 20 строк занести в бд.


Например, прочитать про инсерт и узнать, что он может вставлять несколько значений, а не 20 запросов...
Я понимаю, о чем вы, но ведь тогда все равно нужно будет прописывать имя каждой ячейке, или этого не избежать? И не будет ли добавлено пустых строк, если они не были заполнены пользователем?

Последний раз редактировалось volni; 26.08.2019 в 19:30.
volni вне форума Ответить с цитированием
Старый 26.08.2019, 19:55   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Цитата:
Сообщение от volni Посмотреть сообщение
но ведь тогда все равно нужно будет прописывать имя каждой ячейке, или этого не избежать?
Зачем? У таблицы есть имя, у нее есть дочерние элемнты, пройтись по строкам и выбрать значения не такая уж большая проблема.

Цитата:
Сообщение от volni Посмотреть сообщение
И не будет ли добавлено пустых строк, если они не были заполнены пользователем?
Дык, как напишите...
p51x вне форума Ответить с цитированием
Старый 27.08.2019, 12:02   #7
volni
Форумчанин
 
Регистрация: 16.03.2019
Сообщений: 188
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Зачем? У таблицы есть имя, у нее есть дочерние элемнты, пройтись по строкам и выбрать значения не такая уж большая проблема.
Я сейчас не про sql таблицу,а про таблицу которая написана на html, ведь чтобы передать данные из html в php нужно будет прописывать имя каждой html ячейки. Или я что-то не понимаю?
volni вне форума Ответить с цитированием
Старый 27.08.2019, 12:41   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от volni Посмотреть сообщение
нужно будет прописывать имя каждой html ячейки. Или я что-то не понимаю?
Как сделаете, так и будет.
Есть же циклы, функции и т.д.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 27.08.2019, 13:52   #9
volni
Форумчанин
 
Регистрация: 16.03.2019
Сообщений: 188
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Как сделаете, так и будет.
Есть же циклы, функции и т.д.
Ну я это вижу только следующим образом:
1.Присваиваем имя каждой ячейке, по нажатию кнопки отправляем в php скрипт;
Код:
<form action="query.php" method="POST">
	<table >
		<tr height="26,5" align="left>
			<td ><input type="text"  name="C"></td>
			<td ><input type="text"  name="S"></td>
			<td ><input type="text"  name="D"></td>
			<td ><input type="text"  name="Do"> </td>
		</tr>
                ....................................
                   .........................
2.Ловим их в php скрипте и передаем в базу;
Код:
$S = $_POST['S'];
	$C = $_POST['C'];
	$D= $_POST['D']; 
	$Do = $_POST['Do'];
        .................
        .................устанавливаем соединение с базой.................

         $sql = "INSERT INTO inmain 
		(S,C,D,D,.........................) VALUES ('$S','$C','$D','$Do',..........................)
И собственно это работает, но на месте многоточия будет куча практически одинаковых ячеек (сначала в html,где все и начинается с имени ячейки, а потом уже в php и т.д.). И вопрос в том можно ли как-то это оптимизировать, если да, то как?
volni вне форума Ответить с цитированием
Старый 27.08.2019, 14:21   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от volni Посмотреть сообщение
про таблицу которая написана на html
а как у Вас реализована таблица в HTML ?
как она редактируется?

в любом случае, никто не мешает Вам либо в цикле разобрать данные на клиенте (JS) и передать их в нужном виде на сервер, либо передать данные таблицы целиком на сервер и провести разбор данных кодом PHP.

сохраните этот пример в PHP файл и поиграйтесь с ним:
Код:
<!DOCTYPE html>

<html lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<script>
    function getContent(){
        document.getElementById("my-textarea").value = document.getElementById("table1").innerHTML;
    }
</script>

<body>                

<?php
if($_SERVER['REQUEST_METHOD']=='POST' && isset($_POST['post_table'])){
  echo "<p>Получена такая таблица</p><table border=2px>".$_POST['post_table']."</table><hr>\n";
}
?>

<form action="" method="post" onsubmit="return getContent()">

    <table id="table1" contenteditable="true" border="1px" name="mytable">
        <tr>
        	<td>1</td>
        	<td>2</td>
        	<td>3</td>
        </tr>
        <tr>
        	<td>4</td>
        	<td>5</td>
        	<td>6</td>
        </tr>
        <tr>
        	<td>7</td>
        	<td>8</td>
        	<td>9</td>
        </tr>
        <tr>
        	<td>10</td>
        	<td>11</td>
        	<td>12</td>
        </tr>
     </table>
     <textarea id="my-textarea" name="post_table" style="display:none"></textarea>

     <input type="submit" value="Отправить на сервер">
</form>
</body>
</html>
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка введенных данных в форму cyx PHP 1 20.07.2015 08:17
Работа с mysql (Отправка данных на сервер) Fahman БД в Delphi 10 07.12.2014 15:26
Автоматическая отправка данных на сервер,и их вывод by_yar PHP 4 21.11.2011 20:05
Отправка данных на сервер. iGlass Работа с сетью в Delphi 2 10.09.2009 17:17