根据用户是否已注册更改php变量值

根据用户是否已注册更改php变量值,php,mysql,Php,Mysql,嗨,我正在使用两个mysql表来创建一个类注册系统。classes表列出了所有可用的类,user_classes跟踪用户注册的类。各表的结构如下: 班级表 班级id、班级部门、班级编号、班级名称 用户类别表 id,用户id,类id 我需要编写一个mysql sql来确定用户是否已经注册了一个类。如果是,我想显示一个链接,上面写着“已经注册”,如果不是,我想显示一个链接,上面写着“注册” 我知道我需要在sql语句之后使用if/else语句,但我不确定如何构造sql以生成一个可以运行if/else语

嗨,我正在使用两个mysql表来创建一个类注册系统。classes表列出了所有可用的类,user_classes跟踪用户注册的类。各表的结构如下:

班级表

班级id、班级部门、班级编号、班级名称

用户类别表

id,用户id,类id

我需要编写一个mysql sql来确定用户是否已经注册了一个类。如果是,我想显示一个链接,上面写着“已经注册”,如果不是,我想显示一个链接,上面写着“注册”


我知道我需要在sql语句之后使用if/else语句,但我不确定如何构造sql以生成一个可以运行if/else语句的变量。任何帮助都将不胜感激

这样的方法应该行得通

$sql = "SELECT COUNT(1) as cnt FROM classes 
JOIN user_classes ON user_classes.class_id_fk=classes.id 
WHERE user_classes.user_id=? AND classes.id=?";

$stmt = $pdo->prepare($sql);
$stmt->execute([$_SESSION['user_id'], $classID);

// Will equal 0 if the user has not signed up
$hasSignedUp = $stmt->fetchColumn();
if($hasSignedUp > 0){
     echo "Aleady Registered";
} else {
     echo "Register";
}
SQL

SELECT COUNT(1) FROM `user_classes` WHERE `user_id` = 1 AND `class_id_fk` = 1;
此SQL查询应返回1或0,具体取决于id为1的用户是否已注册到id为1的类

现在您已经有了想要运行的SQL查询,您需要学习如何从PHP操作数据库。下面的链接应该可以帮你解决这个问题


我们不是来为您编写代码的。您至少需要尝试一下。有太多的方法可以做到这一点,请进行搜索/尝试。
从user\u类中选择COUNT(id),其中user\u id=?和class_id_fk=?