检查表mysqli后的Echo数组

时间:2015-07-24 19:17:13

标签: php if-statement mysqli row echo

我所需要的将与来自“调查”的所有调查相呼应。表格中没有完成记录的表格已完成'表 此代码有效但仅检查指定的单个调查是否已完成,并回显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"];
     }

1 个答案:

答案 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];
}

希望这会有所帮助,让你指出正确的方向!