Select Data by 复选框单击下一步并取消选择所选行
Posted
技术标签:
【中文标题】Select Data by 复选框单击下一步并取消选择所选行【英文标题】:Select Data by check box click next and unselect the selected row 【发布时间】:2015-05-15 13:12:57 【问题描述】:我想为我的大学项目创建一个 crf 表格。 我创建了课程表我从课程中选择了一些数据,但是学生单击完成的课程并下一步单击。然后下一页显示相同的数据库表,但不是那些课程,学生已经选择。并且 然后学生可以为应用课程设置子集。 但是当我选择一些课程并单击下一步时,它会显示课程表中的上一行。但我希望在单击时不选择选定的课程行。导致完成的课程不想选择申请课程。
-
我想在应用时从数据库中选择一些行,它会显示相同的数据库所有行,但所选行除外
我在问题行中添加了同一行..
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>
CRF Form
</title>
<link rel="stylesheet" href="CSS/admin_style.css" >
</head>
<body>
<div id="header">
<a href="index.php">
<h1>
Welcome to the CRF Form
</h1>
</a>
</div>
<form action="selection.php" method="POST" enctype="multipart/form-data" >
<div id="">
<table border="5" align="center">
<tr>
<td colspan="8" align="center" bgcolor="yellow">
<h1>
Slect your completed course
</h1>
</td>
</tr>
<tr bgcolor="orange">
<th>
selection:
</th>
<th>
Course id:
</th>
<th>
Course title:
</th>
<th>
Course credits:
</th>
<th>
Course statust:
</th>
<th>
Delete Post:
</th>
<th>
Edit Post:
</th>
</tr>
<?php
include("includes/connect.php");
$query="select * from course";
$run=mysql_query($query);
while($row=mysql_fetch_array($run))
$id=$row['id'];
$course_id=$row['course_id'];
$course_title=$row['course_title'];
$course_credits=$row['course_credits'];
$course_status=$row['course_status'];
?>
<tr align="center" bgcolor="pink">
<td>
<input type="checkbox" name="complete[]" value="<?php echo $id; ?>" />
</td>
<td>
<?php echo $course_id; ?>
</td>
<td>
<?php echo $course_title; ?>
</td>
<td>
<?php echo $course_credits; ?>
</td>
<td>
<?php echo $course_status; ?>
</td>
<td>
<a href="delete.php?del=<?php echo $post_id ?>">
Delete
</a>
</td>
<td>
<a href="Edit.php?edit=<?php echo $post_id ?>">
Edit
</a>
</td>
</tr>
<?php ?>
<tr>
<td align="center" colspan="7">
<input type="submit" name="sub" value="NEXT">
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
这是selec.php
<html>
<head>
<title>
CRF Form
</title>
<link rel="stylesheet" href="CSS/admin_style.css" >
</head>
<body>
<div id="header">
<a href="index.php">
<h1>
Welcome to the CRF Form
</h1>
</a>
</div>
<div id="">
<table border="5" align="center">
<tr>
<td colspan="8" align="center" bgcolor="yellow">
<h1>
Slect your completed course
</h1>
</td>
</tr>
<tr bgcolor="orange">
<th>selection:</th>
<th>Course id:</th>
<th>Course title:</th>
<th>Course credits:</th>
<th>Course statust:</th>
<th>Delete Post:</th>
<th>Edit Post:</th>
</tr>
<?php
include("includes/connect.php");
$check=$_POST['complete'];
foreach($check as $ch)
$select= " id!='".$ch."' and ";//here is the problem
$query="select * from course
where $select id!='0'";
$run=mysql_query($query);
while($row=mysql_fetch_array($run))
$id=$row['id'];
$course_id=$row['course_id'];
$course_title=$row['course_title'];
$course_credits=$row['course_credits'];
$course_status=$row['course_status'];
?>
<tr align="center" bgcolor="pink">
<td>
<input type="checkbox" name="completed" /></input>
</td>
<td><?php echo $course_id; ?></td>
<td><?php echo $course_title; ?></td>
<td><?php echo $course_credits; ?></td>
<td><?php echo $course_status; ?></td>
<td><a href="delete.php?del=<?php echo $post_id ?>">Delete</a></td>
<td><a href="Edit.php?edit=<?php echo $post_id ?>">Edit</a></td>
</tr>
<?php ?>
</table>
</div>
</body>
</html>
【问题讨论】:
你能澄清你的问题吗? 我想在应用时从数据库中选择一些行,它会显示相同的数据库,除所选行之外的所有行 【参考方案1】:我认为您的意思是,一旦选择了课程,它就不应该显示在学生可以查看其他课程的下一页上吗?
如果是这样,那么您可以在不想显示学生已完成课程的下一页上使用以下 sql 查询。
SELECT * FROM course WHERE id != $course_id
如果我错了,请告诉我。我没有发表评论,因为我的声誉很低,而且 *** 不允许我这样做。
[已编辑]
这是您的完整代码。
您选择的 php 文件:
//assuming that you are logging in the students with their username or email id, if so then store their username in a session where logging in.
<?php
$user = $_SESSION['username'];
include("includes/connect.php");
if (isset($_POST['submit']))
$course_id= $_POST['course_id'];
$course_title= $_POST['course_title'];
$course_credits= $_POST['course_credits'];
$course_status= $_POST['course_status'];
$query="SELECT course.id,course.title,course.credits,course.status FROM course WHERE course.username = $user";
$run=mysqli_query($conn,$query);
while($row=mysqli_fetch_array($run))
$course_id= $_SESSION['course_id'] = $row['course_id'];
$course_title=$row['course_title'];
$course_credits=$row['course_credits'];
$course_status=$row['course_status'];
?>
现在在你的下一个 php 文件中:
$already_selected_course = $_SESSION['course_id'];
Now the query should look like.
$query = "SELECT course.id,course.title,course.credits,course.status FROM course WHERE course.id != $already_selected_course";
就是这样。注意:此解决方案可能包含括号等错误,但逻辑清晰。
如需了解更多信息,请在此处查看我的MySQL Complete Video Series!
【讨论】:
当我使用 foreach($check as $ch) $select= " id!='".$ch."' 和 ";//这里是问题 它不起作用但如果我使用 foreach......... last 它重复更多行...请告诉我如何忽略表格中的选定行 帮助我给我建议..当我选择行时,我可以从表中查看所选行..有没有办法显示未选择的行。 (我从复选框中选择数据) 解释更多问题!以上是关于Select Data by 复选框单击下一步并取消选择所选行的主要内容,如果未能解决你的问题,请参考以下文章
防止用户在未填写所需信息的情况下按下一步并在向导表单中显示警告消息 html 和 javascript 有效
2017 年 9 月 27 日 js(1.两个select 内容互换 2.单选按钮 同意可点击下一步 3. 全选框)