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