gpt4 book ai didi

php - 将复选框选定的行保存到php中的数据库中

转载 作者:行者123 更新时间:2023-11-29 12:48:37 24 4
gpt4 key购买 nike

我有一个查询来显示数据库中电子书表的所有记录。

我将其显示在带有第一列复选框的表格中。

我正在尝试保存表格中所选复选框中的行,宽度为学校名称,但我不知道。

我只是 php 的初学者,非常感谢任何帮助。这是我的代码:

HTML 代码:

$result1 = mysql_query("SELECT * FROM school GROUP BY SCHOOL_NAME");

while($row1=mysql_fetch_array($result1)) {
?>
<option><?php echo $row1['SCHOOL_NAME'];?></option>
<?php } ?>
</select>

<table class="table table-striped table-hover table-bordered datatable">
<thead style="background: #a83535; color: black;">
<tr>
<th style="width: 50px;"></th>
<th style="color: #3b3b3b;">Ebook Title</th>
<th style="color: #3b3b3b;">Category</th>
<th style="color: #3b3b3b;">File Name</th>
</tr>
</thead>
<tbody>
<?php
$result = mysql_query("SELECT * from ebooks ORDER BY EBOOK_TITLE");
$count = mysql_num_rows($result);
while($row=mysql_fetch_array($result)) {
?>
<tr>
<td>
<center><input type="checkbox" name="check[]" ></center>
</td>
<td><input type="" name="ebookname[]" value="<?php echo $row['EBOOK_TITLE'];?>"></label></td>
<td><input type="" name="ebookcategory[]" value="<?php echo $row['EBOOK_CATEGORY'];?>"></label></td>
<td><input type="label" name="ebookfilename[]" value="<?php echo $row['EBOOK_FILENAME'];?>"></label></td>
</tr>
<?php } //end of while loop ?>
</tbody>
</table>

<button type="submit" class="btn btn-hg btn-primary" name="AddEbooks">Submit</button>

我想将复选框选中的行保存到数据库:

  • 表:school_management
  • 列:ID_NUMBER , SCHOOL , EBOOK , FILE_NAME , DATE_ASSIGN
  • Values (from the HTML table to database): ('','$school_ebook','$ebookname','$ebookfilename','')

这是屏幕截图:

最佳答案

首先,您需要为复选框分配一个 ID 号,以便可以区分每条记录。在这里使用 ID_NUMBER 是理想的选择。在当前显示复选框的脚本中,您的行显示以下内容:

<center><input type="checkbox" name="check[]" ></center>

名称中应包含这样的 ID_NUMBER。此外,应为该复选框分配一个值,以便我们稍后进行验证。

<center><input type="checkbox" name="check[<?php echo $row['ID_NUMBER'];?>]" value="1"></center> 

现在您可以继续设置在提交表单时触发的内容。您基本上可以循环遍历每条记录,并根据“check[ID_NUMBER]”复选框进行检查,看看该值是否为 1。如果该值为 1,则该记录已被检查以保存,然后您可以继续保存该记录。

如何处理表单取决于您 - 您可以使用 AJAX 来避免重新加载整个页面,或者您可以执行一个简单的表单 action="page_name_here.php"并在那里处理提交。如果您在不使用 AJAX 的情况下进行简单的表单发布,可能会是这样的 -

当前页面表单标签:

<form name="" action="page_name_here.php" method="POST">

如果您想使用 school_ebook 变量,您需要为 school_ebook 的选择选项分配一个值:

<option value="<?php echo $row1['SCHOOL_NAME']'?>">

page_name_here.php:

<?php
/* Get the school name */
$school_ebook=$_POST["school_ebook"];
/* Query your books DB to get the records */
$result=mysql_query("SELECT * from ebooks ORDER BY EBOOK_TITLE");
$count=mysql_num_rows($result);
while($row=mysql_fetch_array($result)) {
$bookID=$row['ID_NUMBER'];
/* Get the Book ID and now we have to fetch from $_POST the value from the form */
if (array_key_exists($bookID, $_POST["check"])) {
$ischecked=$_POST["check"][$bookID];
/* See if this has a value of 1. If it does, it means it has been checked */
if ($ischecked==1) {
/* It is checked, so now in this area you can finish the code to retrieve the data from the row and save it however you like */
}
}
}
?>

完成插入等操作后,它应该可以满足您的需要。

关于php - 将复选框选定的行保存到php中的数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25071565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com