<?php
require_once('comment/startsession.php');
$title = "Quistionaire";
require_once('comment/header.php');
require_once('comment/navmenu.php');
if (!isset($_SESSION['user_id'])) {
echo '<p>Please <a href="mismatch_login.php">log in </a> to access this page.</p>';
exit();
}
require_once('dbc.php');
//第一步 判断是否是空响应表 如果不是生成一个空响应表
$query = "select * from match_response where user_id = '".$_SESSION['user_id']."'";
$data = mysqli_query($dbc,$query);
if (mysqli_num_rows($data) == 0) { //如果没有响应记录 查找分类表里的id值
$query = "select topic_id from match_topic order by category_id ,topic_id";
$data = mysqli_query($dbc,$query);
$topicIDs = array();
while ($row=mysqli_fetch_array($data)) {
array_push($topicIDs,$row['topic_id']);//将主题id保存到一个数组中
}
//把id插入到响应表 生成一个空响应表 response_id,user_id,topic_id,response
foreach ($topicIDs as $topic_id) {
$query = "insert into match_response (user_id,topic_id) values ('".$_SESSION['user_id']."','$topic_id')";
mysqli_query($dbc,$query);
}
}
//第二步如果存在submit提交,保存响应
if (isset($_POST['submit'])) {
foreach ($_POST as $response_id => $response) {
$query = "update match_response set response = '$response' where response_id = '$response_id'";
mysqli_query($dbc,$query);
}
echo '<p style="color:green"><strong>You response have been saved.</strong></p>';
}
//第三步从数据库里拿出响应生成表格
// $query = "select response_id,topic_id,response from match_response where user_id = '".$_SESSION['user_id']."'";
// $data = mysqli_query($dbc,$query);
// $responses = array();
// while ($row=mysqli_fetch_array($data)) {
// //用topic_id找到对应的主题
// $query2 = "select name,category from match_topic where topic_id = '".$row['topic_id']."'";
// $data2 = mysqli_query($dbc,$query2);
// if (mysqli_num_rows($data2)==1) {//如果有响应
// $row2 = mysqli_fetch_array($data2);
// $row['topic_name'] = $row2['name'];
// $row['category_name'] = $row2['category'];
// array_push($responses,$row); //把这个虚拟的五列表格保存到responses数组 response_id,topic_id,response,topic_name,topic_category
// // echo '<pre>';
// // var_dump($responses);
// }
// }
//三表内联查询代码 简化版
$query = " select mr.response_id,mr.topic_id,mr.response, mt.name as topic_name,mc.name as category_name from match_response as mr inner join match_topic as mt using(topic_id) inner join match_category as mc using (category_id) where mr.user_id='".$_SESSION['user_id']."'";
$data = mysqli_query($dbc,$query);
$responses = array();
while ($row=mysqli_fetch_array($data)) {
array_push($responses,$row);
}
mysqli_close($dbc);
echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'">';
echo '<p>How do you fell about each topic?</p>';
$category = $responses[0]['category_name'];//第一个主题
echo '<fieldset><legend>'.$responses[0]['category_name'].'</legend>';
foreach ($responses as $response) {
//如果主题改变了 增加新主题 其他主题
if ($category != $response['category_name']) {
$category = $response['category_name'];
echo '</fieldset><fieldset><legend>'.$response['category_name'].'</legend>';
}
//类别
echo '<label'.($response['response'] == NULL ? 'class="error"' : ' ').' for="'.$response['response_id'].'">'.$response['topic_name'].':</label>';
echo '<input type="radio" name="'.$response['response_id'].'" id="'.$response['response_id'].'" value="1" '.($response['response']==1? 'checked="checked"':'' ).'/> Love';
echo '<input type="radio" name="'.$response['response_id'].'" id="'.$response['response_id'].'" value="2" '.($response['response']==2? 'checked="checked"':'' ).'/> Hate<br/>';
}
echo '</fieldset>';
echo '<input type="submit" name="submit" value="Save Questionnaire"/>';
echo '</form>';
require_once('comment/footer.php');
?>
<!-- <form>
<fieldset>
<legend>abcd</legend>
<label for="abc" >abcd</label>
<input type="radio" name="abd" id="abc" value="1">love
<input type="radio" name="abd" id="abc" value="2">hate
</fieldset>
</form> -->