Предположим, у меня есть некоторые данные из базы данных и хранятся в массиве, которые:
$testArray = array( array('0', 'name1', 'status1'), array('1', 'name2', 'status2') );
и я могу распечатать содержимое массива в виде таблицы html, например, следующим образом:
Id name status 0 name1 status1 1 name2 status2
Я хочу использовать раскрывающийся список «статус» в конце каждой строки, чтобы изменить статус каждой записи и обновить ее в таблице базы данных. Мои вопросы: Как мне получить идентификатор строки каждой строки (столбец «ИД»), когда я выбираю вариант списка поворота? Как передать эту информацию на серверную базу данных, чтобы обновить таблицу базы данных? Я предполагаю, что он должен использовать некоторый javascript. И ниже приведен код:
<?php $testArray = array( array('0', 'name1', 'status1'), array('1', 'name2', 'status2') ); ?> <html> <head> </head> <body> <table> <tr> <td>Id</td> <td>name</td> <td>status</td> </tr> <?php for ($i = 0; $i < count($testArray); $i++){ echo '<tr>'; for ($j = 0; $j < count($testArray[$i]); $j++){ echo '<td>'; echo $testArray[$i][$j]; echo '</td>'; } echo '<td>'; echo '<select>'; echo "'<option value='0'>status1</option>"; echo "'<option value='1'>status2</option>"; echo '</select>'; echo '</td>'; echo '</tr>'; } ?> </table> </body> </html>
Спасибо за помощь!
Ты мог:
Дайте каждому из ваших идентификаторов идентификатор, соответствующий строке данных.
При изменении (jQuery), получите значение select и используйте jquery ajax-вызов для отправки rowID и «StatusValue» на страницу обработки.
Показывать сообщение о состоянии при возврате данных.
http://api.jquery.com/jQuery.ajax/
–Создание выбора
<?php for ($i = 0; $i < count($testArray); $i++){ echo '<tr>'; for ($j = 0; $j < count($testArray[$i]); $j++){ echo '<td>'; echo $testArray[$i][$j]; echo '</td>'; } echo '<td>'; **echo '<select id="' + $testArray[$i][0] + '">';** echo "'<option value='0'>status1</option>"; echo "'<option value='1'>status2</option>"; echo '</select>'; echo '</td>'; echo '</tr>'; } ?>
–JQuery (вам понадобится файл jquery, загрузка с jquery.com)
$(document).ready(function(){ $('select').change(function () { var rowIdVal = $(this).attr('id'); // the id of the select (your rowID) var statusVal = $(this).val(); // the value of the select // post id to the server using ajax (you can use jQuery ajax request) ////I would check if the values are valid and not null... $.ajax({ type: "POST", url: "YOURHANDLERFILE.php", data: {status: statusVal, rowId: rowIdVal}, success: function(d){ //show a status message } }); }); });
Ты можешь:
id
а затем используя jQuery, получите значение (Я думаю, что лучший) хранят идентификатор id
в элементе управления select
а затем получают значение для выбранного изменения индекса с помощью jQuery
в html у вас будет:
<select id="1">
в javascript:
$('select').change(function () { var id = $(this).attr('id'); // post id to the server using ajax (you can use jQuery ajax request) });
Я бы сделал что-то вроде
$('#yourTableId').find('select').change(function() { //bind a change event to the selects $(this).closest('tr') //this way you get the tr element of the row you changed the select value .find('td:first') //or .find('td').first(). This will give you the td element for the Id column .val(); //The actual value of the td Id element });