我有一个查询来显示数据库中ebooks表的所有记录。
我将它显示在一个表格中,其中包含第一列的复选框。
我试图将表格宽度中所选复选框的行保存为学校名称,但我不知道。
我只是php的初学者,感谢任何帮助。这是我的代码:
HTML code:
$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','')
以下是截图:
答案 0 :(得分:1)
首先,您需要为复选框指定一个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>
现在,您可以继续设置在提交表单时触发的内容。您实际上可以循环遍历每个记录并在“检查[ID_NUMBER]”复选框中检查它是否为1.如果值为1,则已检查记录以保存,然后您可以继续保存记录。
您希望如何处理表单取决于您 - 您可以执行AJAX以避免重新加载整个页面,或者您可以执行简单的表单操作=“page_name_here.php”并在那里处理提交。如果你在没有AJAX的情况下做一个简单的表单帖子,它可能是这样的 -
当前页面表单标记:
<form name="" action="page_name_here.php" method="POST">
如果你想使用school_ebook var,你需要为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 */
}
}
}
?>
使用插页等完成后,它应该可以满足您的需求。