[英]Echo Javascript inside PHP with IF condition
这是情况。 我是初学者
我有一个名为“收藏夹”的表,该表存储了发送者和接收者的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条件将这两种形式都封装在php标记内..但是Java脚本不起作用。
PL帮助
非常简单:
<?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;
您的查询语法错误。
尝试这个,
<?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
}
?>
我认为在这种情况下使用表格毫无意义。
试试这个吧。
<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调用在后台进行更新。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.