以下是这种情况。我是初学者
我有一个名为favorite的表,它存储发件人和收件人的Id(收藏夹列表给用户)。我已经完成了PHP编码添加和删除收藏夹
这是将表单提交到addfav.php
的表单<form method="post" action="addfav.php" id="addfav">
<td width="10%"><img src="images/watchlist.png" width="24" /></td>
<td align="left"><a href="javascript:{}" onclick="document.getElementById('addfav').submit(); return false;">Add to Favourite</a></td>
<input type="hidden" value=" <?php echo $temp; ?>" name="toid" />
</form>
同样,我有另一种形式可以从喜欢的
中删除<form method="post" action="remfav.php" id="remfav">
<td width="10%"><img src="images/watchlist.png" width="24" /></td>
<td align="left"><a href="javascript:{}" onclick="document.getElementById("remfav").submit(); return false;">Remove</a></td>
<input type="hidden" value=" <?php echo $temp; ?>" name="toid" />
</form>
这两个PHP都在工作......我想要的是使用if条件来检查用户是否已经添加并相应地显示添加/删除表单
我有我的SQL查询
$result1 = mysql_query("SELECT * FROM `favourite` WHERE `sendfrom`='".$_SESSION["id"]."' AND sendto="ID of current user");
$num_rows1 = mysql_num_rows($result1);
因此,如果$ num_rows1返回1表示表中有值,则REMOVE必须显示为其他ADD。
我试图将表单封装在带有If conditon的php标记内..但java脚本不起作用..
PLs帮助
答案 0 :(得分:0)
这很简单:
<?php
$result1 = mysql_query("SELECT * FROM `favourite` WHERE `sendfrom`='".$_SESSION["id"]."' AND sendto='ID of current user'");
$num_rows1 = mysql_num_rows($result1);
if ($num_rows1 > 0): /* Open condition. Display remove block */
?>
<form method="post" action="remfav.php" id="remfav">
<td width="10%"><img src="images/watchlist.png" width="24" /></td>
<td align="left"><a href="javascript:{}" onclick="document.getElementById('remfav').submit(); return false;">Remove</a></td>
<input type="hidden" value=" <?php echo $temp; ?>" name="toid" />
</form>
<?php else: /* Close the if block. Display add block if count <= 0 */ ?>
<form method="post" action="addfav.php" id="addfav">
<td width="10%"><img src="images/watchlist.png" width="24" /></td>
<td align="left"><a href="javascript:{}" onclick="document.getElementById('addfav').submit(); return false;">Add to Favourite</a></td>
<input type="hidden" value=" <?php echo $temp; ?>" name="toid" />
</form>
<?php endif; /* End conditional block */ ?>
编辑:请注意,以下两个结构在PHP
中完全相同if ($condition1) { | if ($condition1):
/* Do something */ | /* Do something */
} elseif ($condition2) { | elseif ($condition2):
/* Do something else */ | /* Do something else */
} else { | else:
/* Well, you know the drill */ | /* Well, you know the drill */
} | endif;
答案 1 :(得分:0)
您的查询语法错误。
试试这个,
<?php
$result1 = mysql_query("SELECT * FROM `favourite`
WHERE `sendfrom`='".$_SESSION["id"]."' AND
sendto=$current_user");
$num_rows1 = mysql_num_rows($result1);
if($num_rows1 == 1) {
?>
<form method="post" action="remfav.php" id="remfav">
<td width="10%"><img src="images/watchlist.png" width="24" /></td>
<td align="left"><a href="javascript:{}" onclick="document.getElementById('remfav').submit(); return false;">Remove</a></td>
<input type="hidden" value=" <?php echo $temp; ?>" name="toid" />
</form>
<?php
}
else {
?>
<form method="post" action="addfav.php" id="addfav">
<td width="10%"><img src="images/watchlist.png" width="24" /></td>
<td align="left"><a href="javascript:{}" onclick="document.getElementById('addfav').submit(); return false;">Add to Favourite</a></td>
<input type="hidden" value=" <?php echo $temp; ?>" name="toid" />
</form>
<?php
}
?>
答案 2 :(得分:0)
我认为在这种情况下使用表单毫无意义。
试试这个。
<form method="post" action="addfav.php" id="addfav">
<td width="10%"><img src="images/watchlist.png" width="24" /></td>
<td align="left"><a href="addfav.php?id=whatever">Add to Favourite</a></td>
</form>
删除相同。如果你想摆脱你的URL中的?id =,你可以简单地使用标题重定向。如果您想获得出色的用户体验,您甚至可以在后台使用AJAX调用来进行更新。