我想获得Deelnemers下的用户名单:谁注册了该课程。我不知道怎么做这个已经尝试了一段时间了。 数据库看起来像下面的图片。
<?php
session_start();
require_once('includes/mysql_config.php');
$id = isset($_SESSION['id']) ? $_SESSION['id'] : header('location: login.php');
$Cursist = mysqli_query($con, "SELECT id FROM users WHERE id =".$_SESSION['id']);
require_once('header.php');
$cursus = mysqli_fetch_array(mysqli_query($con, "SELECT id FROM cursus WHERE id =".$_GET['id']));
?>
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
<div class="post-preview">
<h2 class="post-title">
<?php echo $cursus['title'] . "<br />";?>
<?php echo $cursus['beginDatum'] . "<br />";?>
Deelnemers:
<?php
$sql = mysqli_fetch_array(mysqli_query($con, "SELECT * FROM users t WHERE EXISTS(SELECT * FROM aanmeldingen B WHERE t.id = b.user_id)"));
$amount = mysqli_affected_rows($con);
for ($i = 0; $i < $amount; $i++) {
$user = mysqli_fetch_array($sql);
echo $user['email']. "<br />";
}?>
</h2>
</div>
</div>
</div>
</div>
我怎么能让这个工作起来,因为我不知道该怎么做呢
答案 0 :(得分:0)
你可以试试这个sql
SELECT cursus.id, aanmeldingen.cursus_id, aanmeldingen.users_id, users.*
FROM users INNER JOIN (cursus INNER JOIN aanmeldingen ON cursus.id = aanmeldingen.cursus_id) ON users.id = aanmeldingen.users_id
WHERE cursus.id = 'ID number of the cursus';
答案 1 :(得分:0)
我建议将数据库重新组织为3个表 - 用户,cursus和cursusstudent。
用户的电子邮件对每个用户都是唯一的,因此他们可以使用密码登录。
的cursus: db_id,cursus_id,naam_cursus,beschrijving,begindatum,cursussoort,prijs
cursusstudent: db_id,cursus_id,电子邮件 (此处的电子邮件列不应该是唯一的,因为一个学生可以参加多个课程)
获取具有相关cursus的用户列表:
1.查询cursusstudent
$ sql_student_and_cursus_id = mysqli_query($ conn,“SELECT * FROM cursusstudent”);
//声明列表变量的名称
$ list =“”;
if(mysqli_num_rows($ sql_student_and_cursus_id)&gt; 0){
while($ row = mysqli_fetch_array($ sql_student_and_cursus_id)){
$cursus_id = $row['cursus_id'];
$email = $row['email'];
//收集诅咒名称
$ query_cursus = mysqli_query($ conn,“SELECT naam_cursus FROM cursus WHERE cursus_id ='$ cursus_id'”);
if(mysqli_num_rows($ query_cursus)&gt; 0){
while($ row_cursus_naam = mysqli_fetch_array($ query_cursus)){
$naam_cursus = $row_cursus_naam['naam_cursus'];
}
}
//收集用户名称
$ query_users = mysqli_query($ conn,“SELECT name FROM users WHERE email ='$ email'”);
if(mysqli_num_rows($ query_users)&gt; 0){
while($ row_naam_user = mysqli_fetch_array($ query_users)){
$naam_user = $row_naam_user['name'];
}
}
//将它们保存在列表中 $ list。= $ naam_user。 ''。 $ naam_cursus; }
}
如果(isset($列表)){
echo $ list;
}