2017-07-12 1 views
-3

こんにちは私は2つのmysqlテーブルを使用してクラス登録システムを作成しています。クラステーブルには利用可能なすべてのクラスがリストされ、user_classesはユーザーがサインアップしたクラスを追跡します。次のように各テーブルの構造は以下の通りである:ユーザが既にサインアップしている場合に基づいてphp変数の値を変更

クラステーブル

CLASS_ID、class_department、class_number、CLASS_NAME

user_classesテーブル

ID、USER_ID、class_id_fk私は書く必要が

mysql sqlを使用して、ユーザーがすでにクラスに登録されているかどうかを確認します。もし私が "既に登録されています"と言うリンクを表示したいのであれば、私は "登録"と言うリンクを表示したいと思います。

私はSQLステートメントの後にif/elseステートメントを使用する必要があると知っていますが、if/elseステートメントを実行できる変数を生成するためにsql in-orderを構成する方法がわかりません。どんな助けでも大歓迎です。このような

+0

あなたのコードはここには載っていません。あなたは少なくとも試してみる必要があります。 – Difster

+0

これを行う方法が多すぎます。検索/試してみてください。 –

+0

'SELECT_COUNT(id)FROM user_classesどこuser_id =? AND class_id_fk =? '? – David

答えて

0

何かが

$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"; 
} 
0

SQL

SELECT COUNT(1) FROM `user_classes` WHERE `user_id` = 1 AND `class_id_fk` = 1; 

を動作するはずです。このSQLクエリは、ID 1を持つユーザーは、IDが1のクラスにサインアップしているかどうかに応じて、1または0を返す必要があります

実行したいSQLクエリがあるので、PHPからデータベースを操作する方法を学ぶ必要があります。下のリンクはあなたを助けるはずです。

https://www.w3schools.com/php/php_mysql_intro.asp

関連する問題