<html> <head> <link rel="stylesheet" href="js/jquery-ui-themes-1.11.1/themes/smoothness/jquery-ui.css" /> <script type="text/javascript" src="js/jquery-1.11.1.js"></script> <script type="text/javascript" src="js/jquery-ui-1.11.1/jquery-ui.js"></script> <script> $(document).ready(function(){ $(".buttonsPromptConfirmDeleteDepartment").click(function(){ var departmentID = $('input#departmentID').val(); alert(departmentID); }); }); </script> </head> <body> <?php //db connection $query = "SELECT * FROM department ORDER BY dept_ID ASC"; $result = mysqli_query($dbc, $query); $total_department = mysqli_num_rows($result); if($total_department > 0) { ?> <table width="600" border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse"> <tr> <td width="80" align="center">ID</td> <td width="300" align="center">Department</td> <td width="220" align="center">Action</td> </tr> <?php while($row = mysqli_fetch_array($result)) { ?> <tr> <td align="center"><?php echo $row['dept_ID']; ?></td> <td align="center"><?php echo $row['dept_name']; ?></td> <td> <button class="buttonsPromptConfirmDeleteDepartment">Delete</button> <input type="hidden" id="departmentID" value="<?php echo $row['dept_ID']; ?>" /> </td> </tr> <?php } ?> </table> <?php } ?>
таблица отделов
dept_ID dept_name
1 учетная запись
2 Финансы
3 Маркетинг
Предположим, что таблица моего отдела имеет только 3 записи.
Мое требование следующее:
– Нажмите кнопку 1-го удаления, show department ID = 1
– Нажмите кнопку 2-го удаления, отобразите идентификатор отдела = 2
– Нажмите кнопку 3-го удаления, показать идентификатор отдела = 3
Однако из моего кода я не могу выполнить свое требование.
Вывод идентификатора отдела, который я получаю, равен 1, независимо от того, какую кнопку я нажал.
Кто-нибудь может мне помочь?
Не нужно использовать скрытый ввод, вы можете просто использовать тег button
:
<?php while($row = mysqli_fetch_array($result)) { ?> <tr> <td align="center"><?php echo $row['dept_ID']; ?></td> <td align="center"><?php echo $row['dept_name']; ?></td> <td> <button type="submit" name="departmentID" class="buttonsPromptConfirmDeleteDepartment" value="<?php echo $row['dept_ID']; ?>">Delete</button> </td> </tr> <?php } ?>
Конечно, в PHP-скрипте, который выполняет обработку формы, обращайтесь к индексу POST, как обычно:
$id = $_POST['departmentID']; // some processes next to it
Примечание. Не забывайте <form>
.
Дополнительное примечание: не забудьте использовать подготовленные заявления :
$sql = 'DELETE FROM department WHERE dept_ID = ?'; $stmt = $dbc->prepare($sql); $stmt->bind_param('i', $id); $stmt->execute(); // some idea, use error checking when necessary // $dbc->error
+ Изменить
ID = "DepartmentID"
в
class = "departmentID" и
+ Изменить
<script> $(document).ready(function(){ $(".buttonsPromptConfirmDeleteDepartment").click(function(){ var departmentID = $('input#departmentID').val(); alert(departmentID); }); });
в
<script> $(document).ready(function(){ $(".buttonsPromptConfirmDeleteDepartment").click(function(){ var departmentID = $(this).next('input.departmentID').val(); alert(departmentID); }); });
прежде всего dept_id в цикле while, и вы используете тот же идентификатор для всех отделов. Еще одна вещь, которую вы можете получить dept_id при нажатии кнопки с помощью jquery .. вот так
$('.buttonsPromptConfirmDeleteDepartment').click(function(){ dept_id = $(this).next('input').val(); })