【发布时间】:2013-01-23 11:05:51
【问题描述】:
我制作了一个脚本来将“活动”添加到“指南”中。 当我添加了一个活动时,添加该特定活动的按钮必须消失。
好吧,我已经制作了这个脚本:
<?php
//userid
$sql = "SELECT UserID FROM user WHERE Username = '".$_SESSION['Username']."' ";
$stm = $db->prepare($sql);
$result = $stm->execute(array());
while($row = $stm->fetch(PDO::FETCH_ASSOC)) {
$userid = $row['UserID'];
}
//activityid
$sql = "SELECT activity.*"."FROM user_activity, activity "."WHERE user_activity.ActivityID = activity.ActivityID AND user_activity.UserID = '".$userid."' " ;
$stm = $db->prepare($sql);
$result = $stm->execute(array());
while($row = $stm->fetch(PDO::FETCH_ASSOC)) {
$activityid = $row['ActivityID'];
}
//Shows activities in database staan.
$sql = "SELECT * FROM activity";
$stm = $db->prepare($sql);
$result = $stm->execute(array());
while($row = $stm->fetch(PDO::FETCH_ASSOC))
{
echo '<div id="activity'.$row['ActivityID'].'">';
echo '<img src="data:image/jpeg;base64,' . base64_encode( $row['ActivityIMG'] ) . '" >', '<br>';
$instantguide = $row['ActivityID'];
if($activityid == $instantguide) {
echo 'this activity is not in your guide.';
} else {
echo '<input type="button" class="addActivity" onclick="MakeRequest(' . $instantguide . ')" value="Activiteit toevoegen" data-activity="' . $row['ActivityID'] . '">';
}
echo '</div>';
}
?>
好吧,这个脚本有两个问题:
1: $activityid 只能有一个值,所以如果我向我的指南添加一个活动,该活动的按钮就会消失,但是当我向我的指南添加另一个活动时,该活动的按钮会消失,但是第一个活动的按钮再次出现。那是因为$activityid 的值发生了变化。
2:我做了一个 if/else 语句来显示或不显示按钮。在该声明中,您将找到$activityid。但是当指南中没有活动时,我得到$activityid 不存在的错误,这是因为当指南中有活动时创建了变量。
【问题讨论】:
-
由于指南和活动之间显然存在一对多的关系,因此您应该专注于添加更多变量/按钮,而不是尝试仅使用一个。