我需要有关我无法实现的查询的帮助。我知道不推荐使用mysql函数,但我的网站只是一个原型,因此对于这个项目来说并不重要。
我有一个网站,用于为用户显示视频教程以进行培训。向用户显示带有复选框的14个问题的列表,他们可以勾选相关的复选框并在下一页上查看每个相关的教程。
登录人员的user_id也会插入到我的数据库中,以便我可以识别谁选中了复选框,以及每个复选框值(1或0)到我的答案表(enisatanswer)中的单独列中。这是我的插入代码,工作正常。一开始的SELECT语句是维护用户的SESSION详细信息,并在每个页面中使用。
<?php
session_start();
include_once 'dbconnect.php';
if(!isset($_SESSION['user']))
{
header("Location: index.php");
}
$res=mysql_query("SELECT * FROM users WHERE user_id=".$_SESSION['user']);
$userRow=mysql_fetch_array($res);
if(isset($_POST['submit']))
{
header("Location: eNISATVids.php");
@$userID=$_SESSION['user'];
@$checkbox1=$_POST['Log'];
@$checkbox2=$_POST['Worktray'];
@$checkbox3=$_POST['Visual'];
@$checkbox4=$_POST['ChangePd'];
@$checkbox5=$_POST['Logout'];
@$checkbox6=$_POST['ClientSearch'];
@$checkbox7=$_POST['StartAssessment'];
@$checkbox8=$_POST['Finalise'];
@$checkbox9=$_POST['Print'];
@$checkbox10=$_POST['Hcn'];
@$checkbox11=$_POST['Lcid'];
@$checkbox12=$_POST['Soscare'];
@$checkbox13=$_POST['Reassign'];
@$checkbox14=$_POST['Close'];
$query="INSERT INTO enisatanswer (user_id,Log,Worktray,Visual,ChangePd,Logout,ClientSearch,StartAssessment,Finalise,Print,Hcn,Lcid,Soscare,Reassign,Close) VALUES
('$userID', '$checkbox1', '$checkbox2','$checkbox3', '$checkbox4', '$checkbox5', '$checkbox6','$checkbox7', '$checkbox8','$checkbox9', '$checkbox10','$checkbox11', '$checkbox12', '$checkbox13', '$checkbox14')";
mysql_query($query) or die (mysql_error() );
if($query==true)
{
echo'<script>alert("Your choices have inserted Successfully \n \n Please click on Display eNISAT Tutorials at the buttom of the page to view your videos ")</script>';
}
else
{
echo'<script>alert("Failed To Insert")</script>';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Welcome - <?php echo $userRow['username']; ?></title>
/<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div id="header">
<div id="left">
<label>NHSCT eNISAT Tutorials</label>
</div>
<div id="right">
<div id="content">
Welcome <?php echo $userRow['forename']; ?> <a href="logout.php?logout">Sign Out</a>
</div>
</div>
</div>
<br>
<p align="center"><img src="title.jpeg" width="400"height="100" alt="title.jpeg">
<br>
<br>
<center>
<h2>Please select the tasks you require assistance with, before clicking DISPLAY ENISAT TUTORIALS:<h2>
<br>
<table align="center" height="0" width="70%" border="1" bgcolor = "white">
<form action="" method="post"
<tr>
<td colspan="2">Tick each relevant box:</td>
</tr>
<tr>
<td>How to login</td>
<td><input type="checkbox" name="Log" value="1"></td>
<tr>
<td>How to manage your worktray</td>
<td><input type="checkbox" name="Worktray" value="1"></td>
<tr>
<td>How to change your visual settings (Colours and text size)</td>
<td><input type="checkbox" name="Visual" value="1"></td>
</tr>
<tr>
<td>How to change your own password on the system</td>
<td><input type="checkbox" name="ChangePd" value="1"></td>
</tr>
<tr>
<td>How to logout of the system</td>
<td><input type="checkbox" name="Logout" value="1"></td>
</tr>
<tr>
<td>How to search for a client on the system</td>
<td><input type="checkbox" name="ClientSearch" value="1"></td>
</tr>
<tr>
<td>How to start an assessment</td>
<td><input type="checkbox" name="StartAssessment" value="1"></td>
</tr>
<tr>
<td>How to finalise an assessment</td>
<td><input type="checkbox" name="Finalise" value="1"></td>
<tr>
<td>How to print an assessment</td>
<td><input type="checkbox" name="Print" value="1"></td>
</tr>
<tr>
<td>How to create a client and referral manually through Find on H+C</td>
<td><input type="checkbox" name="Hcn" value="1"></td>
</tr>
<tr>
<td>How to submit a referral from LCID (LCID Users only)</td>
<td><input type="checkbox" name="Lcid" value="1"></td>
</tr>
<tr>
<td>How to submit a referral from Soscare (Soscare Users only)</td>
<td><input type="checkbox" name="Soscare" value="1"></td>
</tr>
<tr>
<td>How to reassign a referral on eNISAT</td>
<td><input type="checkbox" name="Reassign" value="1"></td>
</tr>
<tr>
<td>How to close a referral on eNISAT</td>
<td><input type="checkbox" name="Close" value="1"></td>
</tr>
<tr>
<td <td><button name="submit" type="submit" onclick="window.location.href='eNISATVids.php'">Display eNISAT Tutorials</button></td>
</tr>
</table>
</div>
</form>
</body>
</html>
我目前的下一页显示了我的问题表'enisatquestion'中所有14个视频的表格中的链接。
我的问题是,任何人都可以帮我查询,只显示用户选中的复选框的视频链接,而不是全部。我猜测为了做到这一点,需要为我的'enisatanswer'表中的每一列创建一个变量。我的专栏是(日志,工作台,视觉等)
所以我认为我的查询是这样的:
SELECT * FROM enisatquestion WHERE enisatanswer (Log,Worktray,Visual....) VALUES =1 and user_id = $userID=$_SESSION['user'];
我真的不确定这个声明
非常感谢任何帮助。这是我显示视频的代码
<?php
session_start();
include_once 'dbconnect.php';
if( !isset( $_SESSION['user'] ) ) header("Location: index.php");
$res=mysql_query("SELECT * FROM users WHERE user_id=".$_SESSION['user']);
$userRow=mysql_fetch_array( $res );
$query = "SELECT eNISATQuestion, eNISATVideo FROM enisatquestion";
$result = mysql_query( $query );
/* A default message if the query fails or there are no records */
$enisatquestion='<h2>Sorry, there are no records</h2>';
/* you cannot output content outside the html tags, not valid ~ it will work but NO */
if( $result ) {/* if there is a recordset, proceed and generate html table */
$enisatquestion = "<table >";
while ( $row = mysql_fetch_assoc($result) ) {
$enisatquestion .= "<tr><td><a href='{$row['eNISATVideo']}'>{$row['eNISATQuestion']}</a></td></tr>";
}
$enisatquestion .= "</table>";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Welcome - <?php echo $userRow['username']; ?></title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div id="header">
<div id="left">
<label>NHSCT eNISAT Tutorials</label>
</div>
<div id="right">
<div id="content">
Welcome <?php echo $userRow['forename']; ?> <a href="home.php?home">Return to Homepage</a> <a href="logout.php?logout">Sign Out</a>
</div>
</div>
<br>
<br>
<br>
<br>
<p align="center"><img src="title.jpeg" width="400"height="100" alt="title.jpeg">
<br>
<br>
<center>
<h2>Click on the each link to open your tutorial in Windows Media Player<h2>
<br>
<?php
/* output the html table here, below your header */
echo $enisatquestion;
/*
If the query failed then the default gets displayed
*/
?>
</div>
</body>
</html>