使用IF条件在PHP内部回显Javascript

时间:2014-06-23 06:25:04

标签: php

以下是这种情况。我是初学者

我有一个名为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帮助

3 个答案:

答案 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调用来进行更新。