繁体   English   中英

带有IF条件的PHP中的Echo Javascript

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM