我所需要的将与来自“调查”的所有调查相呼应。表格中没有完成记录的表格已完成'表 此代码有效但仅检查指定的单个调查是否已完成,并回显1个特定调查。如果您查看代码,首先检查调查ID 1是否存在完成记录,如果不存在,则检查调查ID是否为1.我希望它回显所有登录用户没有完成记录的调查。 / p>
$_SESSION['id'] = $id;
$completed1 = mysqli_query($con1,"SELECT * FROM completed WHERE surveyid = '1' AND userid = '$id'");
$survey1 = mysqli_query($con1,"SELECT * FROM surveys WHERE id = '1'");
if(mysqli_num_rows($completed1)>0){
echo "Survey completed!";
}
elseif(mysqli_num_rows($survey1)>0){
while($row = mysqli_fetch_array($survey1))
echo $row["title"];
}
答案 0 :(得分:0)
SQL Query应返回所有包含不完整调查的行,并将它们放入数组中。 然后做一个foreach来回应所有不完整的调查。
例如,SQL查询应该类似于:
SELECT is_complete FROM surveys WHERE is_complete = 0;
不是添加一个包含“已完成”调查的表,只需在调查表中添加一个列为“is_complete”的列...如果它为0则不完整,如果它是1则完成。
就PHP而言,它将是这样的:
$query = "SELECT title FROM surveys WHERE is_complete = 0";
$stmt = $con1->prepare($query);
$stmt->execute();
$result = $stmt->get_result();
$surveys = mysqli_fetch_all($result,MYSQLI_NUM);
foreach ($surveys as $survey) {
echo $survey[0];
}
希望这会有所帮助,让你指出正确的方向!