我有一个名为'users-events'的数据库表,这是一个由id,user_id event_id组成的三列表。
我正在尝试在 php 中确定两个特定值是否出现在数据库中的同一行上,以查看用户是否已注册事件。
例如,如果行是:x, 1, 1 这意味着用户 1 已注册到事件 1,因此请隐藏"注册事件"按钮并显示"从事件辞职"按钮。
目前我有一个非常凌乱且非功能性的混合物......
<?php
if(!mysql_fetch_assoc(mysql_query("SELECT user_id FROM `users-events` WHERE event_id IN (".$_SESSION['uid'].")"))){
?>
<input type="submit" class="button1" name="btn-register" value="Register for event">
<?php }else{ ?>
<input type="submit" class="button1" name="btn-resign" value="Resign from event">
<?php } ?>
这很重要,因为我也需要同样的东西,因此用户无法多次注册同一事件。
提前感谢!
包含用户所有事件的第一个查询。我认为$_SESSION['uid']
是用户ID。
$events_query = "SELECT event_id FROM `users-events` WHERE user_id = ".$_SESSION['uid'];
接下来执行此操作并保存到数组。和
if(array_key_exists($event_id,$event_user_array)){
}else{
}
所以今天我了解到你可以在SQL中使用AND子句。 在这样的时代,我显然是一个自学成才的程序员。 我敢肯定,我会在第 1 课中被教导这一点。
$regcheck = mysql_fetch_assoc(mysql_query("SELECT user_id FROM `users-events` WHERE user_id ='".$_SESSION['uid']."' AND event_id ='".$eventid."'"));
if(empty($regcheck)){ showregisterbutton(); }else{ showresignbutton(); }