Intereting Posts
Как слить две php Doctrine 2 ArrayCollection () Есть ли причина использовать ключевое слово «public» перед именами переменных метода и члена? Как я могу реализовать привилегии форума Как отменить этот массив и использовать повторяющиеся значения в качестве ключа в новом массиве Как преобразовать скрипт с использованием функций mysql_ для использования функций mysqli_? PHP MySQL INSERT терпит неудачу из-за уникального ограничения PHP – печать всех операторов, выполняемых в скрипте командной строки PHP? Какая самая лучшая / самая быстрая таблица таблиц MySQL для временного / вращающегося хранилища, например, для управления сеансом? CakePHP 3 Переключатель источника данных преобразовать подмассивы с одним значением в строку Лучший способ читать zip-файл в PHP preg_match_all с разделителями пробела и запятой MASS WHERE / IN, как обрабатывать пустые / возвращенные данные также совпадают? Конвертировать карту Google v2 в google map v3 Поиск в многомерном массиве (PHP)

подсчет строк в таблице html с использованием php

У меня есть динамическая таблица HTML, которая позволяет пользователю добавлять строки одним нажатием кнопки. Данные из каждой строки должны быть вставлены в таблицу MySQL, для которой я использую PHP-скрипт. Теперь, поскольку каждый раз количество строк в таблице HTML может отличаться, как мне это сделать в PHP. Один из способов – подсчитать количество строк в таблице HTML (что я нашел где-то так, как это делается)

$rows = $table->find('#studenttable'); /*line 4 of my code*/ $count = count($rows); /*studenttable is the id of my table*/ echo $count; 

а затем запустите цикл for для вставки данных для каждой строки. Но это приводит к фатальной ошибке.

Notice: Undefined variable: table in savedata.php on line 4

Fatal error: Call to a member function find() on a non-object in savedata.php on line 4

Другим способом может быть использование цикла foreach, который я совершенно не понимаю, как реализовать в этой ситуации.

Этот код динамически добавляет новые строки

 var count=2; function addRow() { var table=document.getElementById("studenttable"); var row=table.insertRow(-1); var cell15=row.insertCell(14); var ipt8 = document.createElement('input'); ipt8.setAttribute("type", "hidden"); ipt8.name = "htmlrow[]"; ipt8.value = count; cell15.appendChild(ipt8); count++; } 

PHP-файл, чтобы получить количество строк

 <?php $arr = $_POST['htmlrow']; foreach ($arr as $val) { $count= $val; echo $count; } ?> 

все еще не получая результата.

Solutions Collecting From Web of "подсчет строк в таблице html с использованием php"

Вы не можете напрямую обращаться к элементам HTML в PHP.

Мое предложение изменило бы клиентский код, чтобы всякий раз, когда строка добавляется в таблицу, <input type="hidden" value="value-of-that-row" name="htmlrow[]"/> получает добавлен в форму.

Таким образом, при отправке формы (у вас есть все, что завершено внутри формы, правильно?) Вы можете получить доступ к сгенерированным строкам таблицы в PHP, обрабатывая форму, используя $_POST['htmlrow'] , который теперь будет содержать массив данные пользователя.

в таблице.php

 <script> function addRow() { var table = document.getElementById("studentsTable"); var row = table.insertRow(-1); var cell = row.insertCell(0); //get the current count of rows //-1 for the head row another -1 to index from 0 var last_row_index = table.getElementsByTagName("tr").length-2; cell.innerHTML = '<input name="name_'+ last_row_index +'" type="text" />'; } 

 <body> <form action="update.php" method="post"> <table id="studentsTable"> <tr> <th>Name</th> </tr> <tr> <td><input name="name_0" type="text" /></td> </tr> </table> <input name="submit" type="submit" value="Submit" /> <br> </form> <button onclick="addRow()">Add New Row</button> </body> 

в update.php

 <?php foreach($_POST as $name => $value) { if(substr($name, 0, 5) == 'name_') { echo $name .' : '. $value .'<br>' ; } } ?> 

выход будет выглядеть примерно так:

имя_0: Джейн

имя_1: Боб

имя_2: Сэм

,

,

Так же, как пользователь добавил в table.php

Вы можете, конечно, поместить их в массив, вставить в MySQL … и т. Д.