在php中单击文本时,如何将MYSQL变量值设置为1?

在php中单击文本时,如何将MYSQL变量值设置为1?,php,mysql,private,messages,Php,Mysql,Private,Messages,首先,我对php知之甚少,而且还在学习,所以请您轻松回答我的问题。基本上,我正在做一个类似社交网站的项目,用户可以发送和接收私人消息等。我已经做得很好了,当你在数据库中将变量值从“0”设置为“1”时,消息甚至会转到messages_deleted.php页面 有没有办法让用户自己做这件事,通过点击一段文字来删除他们自己的信息 我在php中工作,所以需要一段php代码,如果有人有任何想法,可以让我这样做 以下是我当前使用的php脚本: <?php $page_title = "M

首先,我对php知之甚少,而且还在学习,所以请您轻松回答我的问题。基本上,我正在做一个类似社交网站的项目,用户可以发送和接收私人消息等。我已经做得很好了,当你在数据库中将变量值从“0”设置为“1”时,消息甚至会转到messages_deleted.php页面

有没有办法让用户自己做这件事,通过点击一段文字来删除他们自己的信息

我在php中工作,所以需要一段php代码,如果有人有任何想法,可以让我这样做

以下是我当前使用的php脚本:

<?php


    $page_title = "Messages";
        include('includes/header.php'); 

        confirm_logged_in();

        include ('includes/mod_login/login_form.php');  
    ?>

<div class="modtitle">
  <div class="modtitle-text">Inbox</div>
</div>

<div class="modcontent">

<strong>Inbox</strong> | <a href="messages_sent.php">Sent Messages</a> | <a href="messages_deleted.php">Deleted</a>
<br /><br />
<table width="100%" border="0" cellpadding="5" cellspacing="0">
  <tr bgcolor="#CCCCCC">
    <td width="30%"><strong>Recieved</strong></td>
    <td width="20%"><strong>From</strong></td>
    <td width="28%"><strong>Subject</strong></td>
    <td width="0%"><strong>Read/Unread</strong></td>
      <td width="0%"><strong>Delete</strong></td>
  </tr>
<?php
        $inbox_set = get_inbox();
        while ($inbox = mysql_fetch_array($inbox_set)) {

?>

<?php
 if ($inbox['read'] == 0) { ?>
  <tr bgcolor="#6666B3">
<?php }
 if ($inbox['read'] == 1) { ?>
    <tr>

<?php }  ?>



    <td><?php 



    $datesent1 = $inbox['date_sent'];


    echo "$datesent1"; ?></td>


    <a href="profile.php?id={$inbox['from_user_id']}"><td><?php echo "<a href=\"profile.php?id={$inbox['from_user_id']}\">{$inbox['display_name']}"; ?></td></a>

    <td><?php echo "<strong><a href=\"read_message.php?msg={$inbox[0]}\">{$inbox['subject']}</a></strong>"; ?></td>

    <td><?php   if ($inbox['read'] == 0)  {
                echo "Unread"; 
                }
                if ($inbox['read'] == 1)  {
                echo "Read";
                }
                ?></td>
                <td>
                <?php 
                if ($inbox['delete'] == 0)  {
                echo "Delete";


                }
                 if ($inbox['delete'] == 1)  {
                echo "$deleted_set;";
                }   


                    ; ?></td>



                </td>

<?php
}


?>

</tr>
</table>

</div>

<?php include('includes/footer.php'); ?>

收件箱
收件箱|124;


收到 来自 主题 已读/未读 删除


我真正需要的是一种使“delete”行可单击的方法,以便当用户单击它时,它将值设置为“1”。如果可以这样做,我想对我来说会容易得多。

是的。这很简单。您可以在页面上查看一些基本的jQuery和AJAX。这里是API的链接。

如果您可以将jQuery包含到项目中,那么您可以使用PHP+AJAX来处理这个问题。比方说,您有一个PHP文件,它将消息作为
messages\u deleted.PHP
删除。要删除一条消息,我假设,您需要向脚本传递一个参数
id
,最后是这样:
messages\u deleted.php?id=5

还假设PHP文件中的代码是:

<?php
    mysql_connect();
    if (mysql_query("UPDATE `messages` SET `deleted` = 1 WHERE `id` = " . mysql_real_escape_string($_GET["id"])))
        die ("deleted");
    else
        die ("error");
?>

如果您不想使用Ajax,您应该创建一个链接,将用户重定向到一个页面,例如
delete\u message.php?mid=16
其中mid是用户想要删除的消息id

然后在服务器端首先检查此消息是否属于要删除它的用户,这样用户就不能删除其他人的消息

然后运行一个mysql代码,该代码应该如下所示:
UPDATE
messages
SET
deleted
='1',其中
id
='16'


我希望它能帮助您,如果您还有任何其他问题,请告诉我。

如果您知道如何将消息输入数据库,则不会有太大的不同。如果您仅限于使用PHP(无JavaScript),那么我会将消息列表视图包装成一个表单,在每条消息前面放置一个复选框,添加一个类似于提交的删除按钮,用户基本上会将其发布到页面上,然后您循环浏览每条提交的消息并将其删除。好的,谢谢。这已经设置好了,因此当用户删除一条消息时,它会被提交到messages_delete.php页面,您可以转到已删除的消息以在其页面中查看它。但是,只有在mysql数据库中将消息的值设置为1时,消息才会被删除,我正在寻找一个代码,允许用户在单击删除文本时将该值从0设置为1。谢谢,我已经附上了代码,因为它可能会有所帮助。这与示例中的代码兼容吗?或者你能告诉我需要去哪里吗。谢谢。@MarkTanner如果您没有使用多个
,请在几分钟内查看更新的答案。:)
$(document).ready(function(){
    $("table tr").click(function(){
        $.getScript("messages_deleted.php", function(data){
            if (data == "deleted")
                alert("Message Deleted");
        });
    });
});