标记为已读/未读按钮数据表php/mysql

这太酷了

我是编码新手,我正在使用 php 和 mysql 制作一个管理面板来显示表单中的客户端数据。
现在我想制作一个按钮来显示数据是否已被处理。这个想法是,我有一个名为 star 的列,如果 star == 读取该显示为“绿色”,如果 star =! 读取显示“红色”。
然后如果按下按钮,如果 star == read 更新为未读但如果 star =! 阅读更新阅读。

我有这样的按钮:

<td><a href=\"read.php?id=".$row['id']."\" class=\"buttonize\">star</a></td>

和 read.php 像这样:

<?php
include("db.php");
 $id = $_GET['id'];
 $query = "UPDATE users SET star='read' WHERE id = '$id'";
 mysqli_query($link, $query) or die('Database error!');

 header('location:admin_main.php');
?>

这只会更新要读取的行,并且无法再次变为未读状态。
但我不知道如何制定 if 语句。

如果有人有任何建议,那将不胜感激。

编辑

展示一些我尝试过的东西:

我在数据表中添加了一个新列:

<td>".$star."</td>

然后我尝试使用下面的代码来检查数据库:

$query = "SELECT star FROM users";
 $selectie = mysqli_query($link, $query) or die($query."<br>".mysql_error());

 if($selectie == 'read') {
    $star = 'read';
    } else {
    $star = 'unread';
  } 

而对于 read.php:

<?php
 include("inc/verbinden.php");
 $id = $_GET['id'];

 $query = "SELECT star FROM users";
 $selectie = mysqli_query($link, $query) or die($query." <br>".mysql_error());

 if($selectie == 'read') {
 $query = "UPDATE users SET star='unread' WHERE id = '$id'";
 mysqli_query($link, $query) or die('Database error!');
 } else {
 $query = "UPDATE users SET star='read' WHERE id = '$id'";
 mysqli_query($link, $query) or die('Database error!');
}


header('location:admin_main.php');
?>

但我意识到 if/else 是错误的。

放克四十人

你快到了。您错过的是循环(成功)结果,例如使用while循环

旁注:我添加(int)了 GET 数组,这有助于防止可能的SQL 注入并更正了mysql_error(). 该 api 不会与 mysqli_* api 混合。

<?php
 include("inc/verbinden.php");

 if(!empty($_GET['id'])){
     $id = (int)$_GET['id'];
     }else{
         echo "The GET array is empty.";
         exit; // Stops further execution.
     }

 $query = "SELECT star FROM users";
 $selectie = mysqli_query($link, $query) or die($query." <br>".mysqli_error($link));

     while($row = mysqli_fetch_array($selectie)){
         if($row['star'] == 'read') {
         $query = "UPDATE users SET star='unread' WHERE id = '$id'";
         mysqli_query($link, $query) or die('Database error!'); // use mysqli_error($link)
         }else{
         $query = "UPDATE users SET star='read' WHERE id = '$id'";
         mysqli_query($link, $query) or die('Database error!'); // use mysqli_error($link)
            }
        }

header('location:admin_main.php');
exit; // Stops further execution.

注意:您可以替换mysqli_fetch_array()mysqli_fetch_assoc().

此外,最好mysqli_affected_rows()在使用 UPDATE 时使用,以获得实际的真实性。

您可以阅读这些功能:

但要注意的一件事是readand Read,以及unreadUnread是两种不同的动物。因此,请绝对确保这些确实是您数据库中的值以及数据库中的内容。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将GridView中的记录标记为已读和未读

来自分类Dev

将SMS消息标记为已读/未读或删除在KitKat中不起作用的消息

来自分类Dev

Windows 10默认邮件应用-如何将所有未读标记为已读?

来自分类Dev

如何在Postfix中将已读邮件标记为未读

来自分类Dev

Office365 Graph API-标记为已读/未读,不会更新lastModifiedDateTime

来自分类Dev

gmail-api标记为“已读”

来自分类Dev

Lotus Notes规则“标记为已读”?

来自分类Dev

Office 365邮箱将未标记的项目标记为已读

来自分类Dev

mutt标记为已读和已存档

来自分类Dev

Gmail REST API-将邮件标记为已读

来自分类Dev

提及API-将提及标记为已读

来自分类Dev

如何在IMAP上将邮件标记为已读\ \(Go)

来自分类Dev

如何将邮件项目标记为已读?

来自分类Dev

如何使用Vue js将通知标记为已读?

来自分类Dev

如何将网站标记为已读?

来自分类Dev

Gmail REST API-将邮件标记为已读

来自分类Dev

在Outlook中删除时标记为已读?

来自分类Dev

提及API-将提及的内容标记为“已读”

来自分类Dev

fdm和msmtp:将邮件标记为已读

来自分类Dev

如何将邮件项目标记为已读?

来自分类Dev

使用 CloudKit 在 iOS 11 中将通知标记为已读

来自分类Dev

WPF - 将数据网格绑定到数据表、自动生成的列、布尔值未标记为已检查

来自分类Dev

mutt中的已读和未读

来自分类Dev

Office 365 REST API(Python)将电子邮件标记为已读

来自分类Dev

删除/移至回收站时将项目标记为已读

来自分类Dev

Powershell-Outlook将所有邮件标记为已读,然后删除

来自分类Dev

在Laravel 5.3通知中将特定通知标记为已读

来自分类Dev

如何使用Gmail API在Gmail中将电子邮件“标记为已读”?

来自分类Dev

自动将电子邮件标记为在Evolution 3.2.2中已读?

Related 相关文章

  1. 1

    如何将GridView中的记录标记为已读和未读

  2. 2

    将SMS消息标记为已读/未读或删除在KitKat中不起作用的消息

  3. 3

    Windows 10默认邮件应用-如何将所有未读标记为已读?

  4. 4

    如何在Postfix中将已读邮件标记为未读

  5. 5

    Office365 Graph API-标记为已读/未读,不会更新lastModifiedDateTime

  6. 6

    gmail-api标记为“已读”

  7. 7

    Lotus Notes规则“标记为已读”?

  8. 8

    Office 365邮箱将未标记的项目标记为已读

  9. 9

    mutt标记为已读和已存档

  10. 10

    Gmail REST API-将邮件标记为已读

  11. 11

    提及API-将提及标记为已读

  12. 12

    如何在IMAP上将邮件标记为已读\ \(Go)

  13. 13

    如何将邮件项目标记为已读?

  14. 14

    如何使用Vue js将通知标记为已读?

  15. 15

    如何将网站标记为已读?

  16. 16

    Gmail REST API-将邮件标记为已读

  17. 17

    在Outlook中删除时标记为已读?

  18. 18

    提及API-将提及的内容标记为“已读”

  19. 19

    fdm和msmtp:将邮件标记为已读

  20. 20

    如何将邮件项目标记为已读?

  21. 21

    使用 CloudKit 在 iOS 11 中将通知标记为已读

  22. 22

    WPF - 将数据网格绑定到数据表、自动生成的列、布尔值未标记为已检查

  23. 23

    mutt中的已读和未读

  24. 24

    Office 365 REST API(Python)将电子邮件标记为已读

  25. 25

    删除/移至回收站时将项目标记为已读

  26. 26

    Powershell-Outlook将所有邮件标记为已读,然后删除

  27. 27

    在Laravel 5.3通知中将特定通知标记为已读

  28. 28

    如何使用Gmail API在Gmail中将电子邮件“标记为已读”?

  29. 29

    自动将电子邮件标记为在Evolution 3.2.2中已读?

热门标签

归档