繁体   English   中英

如果Table2中已经存在相同的ID行,该如何防止显示? PHP

[英]How to prevent the same ID row to display from Table1 if already exist in Table2? PHP

我有两个表(Table1和Table2)。 表1在Page1上显示数据,表2在Page2上显示数据。 当用户单击按钮时,我的脚本将从Table1发送到Table2并发送相应的ID。 因此,我想检查并防止显示Table1中已经存在于Table2中的行。

表1中的ID为“ inbox_id”,并作为参考进入表2。

这是PHP代码

               $get_inbox = "select * from inbox";

           $run_inbox = mysqli_query($conn, $get_inbox);

           while($inbox_row = mysqli_fetch_array($run_inbox)){
               $inbox_id = $inbox_row['inbox_id'];
               $inbox_icon = $inbox_row['inbox_icon'];         
               $inbox_fullname = $inbox_row['inbox_fullname'];
               $inbox_email = $inbox_row['inbox_email'];
               $inbox_phone = $inbox_row['inbox_phone'];
               $inbox_subject = $inbox_row['inbox_subject'];
               $inbox_url = $inbox_row['inbox_url'];
               $inbox_message = $inbox_row['inbox_message'];
               $inbox_icon = $inbox_row['inbox_icon'];
               $inbox_day = $inbox_row['inbox_day'];    
               $inbox_date = $inbox_row['inbox_date'];
               $inbox_year = $inbox_row['inbox_year'];         
               $inbox_time = $inbox_row['inbox_time'];
               $inbox_timezone = $inbox_row['inbox_timezone'];

           {

这是Table1和Table2的两个屏幕截图。

表格1 表格1

表2 表2

选择:

SELECT 
    inbox.* 
FROM 
    inbox 
    LEFT JOIN trash 
        ON inbox.inbox_id = trash.inbox_id
WHERE
    trash.trash_id IS NULL

SELECT
    inbox.*
FROM
    inbox
WHERE
    inbox_id NOT IN (
        SELECT inbox_id
        FROM trash
        WHERE 1 -- something here?
    )

SELECT
    inbox.*
FROM
    inbox
WHERE
    NOT EXISTS (
        SELECT 1
        FROM trash
        WHERE trash.inbox_id = inbox.inbox_id
    )

一些轻松的阅读可以帮助您做出决定: http : //explainextended.com/2009/09/18/not-in-vs-not-exists-vs-left-join-is-null-mysql/

此外,如果希望从数据库返回的所有字段都使用相同名称的变量,则可以节省一些空间/精力,您可以将其替换为:

    while($inbox_row = mysqli_fetch_array($run_inbox)){
           $inbox_id = $inbox_row['inbox_id'];
           $inbox_icon = $inbox_row['inbox_icon'];         
           $inbox_fullname = $inbox_row['inbox_fullname'];
           $inbox_email = $inbox_row['inbox_email'];
           $inbox_phone = $inbox_row['inbox_phone'];
           $inbox_subject = $inbox_row['inbox_subject'];
           $inbox_url = $inbox_row['inbox_url'];
           $inbox_message = $inbox_row['inbox_message'];
           $inbox_icon = $inbox_row['inbox_icon'];
           $inbox_day = $inbox_row['inbox_day'];    
           $inbox_date = $inbox_row['inbox_date'];
           $inbox_year = $inbox_row['inbox_year'];         
           $inbox_time = $inbox_row['inbox_time'];
           $inbox_timezone = $inbox_row['inbox_timezone'];

       {

    while($inbox_row = mysqli_fetch_array($run_inbox)){
           extract($run_inbox);

       {

参见extract()

在Table2中绘制表格时,将inbox_id存储为表格行的ID。 因此,当您想在table2中插入数据时,请使用inbox_id通过jquery检查数据是否存在,如果不存在,则在表末尾添加该行。

As I gone through your question. I will request you to put screen sort of your Table Structure(Table 1, Table 2) with records of possible. So will easy for any one to answer your query. Looking forward to your response.  Try to execute this code in your page. I hope this will work. 


$get_inbox = "select * from inbox where inbox_id not in($clicked_id)";

$run_inbox = mysqli_query($conn, $get_inbox);
while ($inbox_row = mysqli_fetch_array($run_inbox)) {
    $inbox_id = $inbox_row['inbox_id'];
    $inbox_icon = $inbox_row['inbox_icon'];
    $inbox_fullname = $inbox_row['inbox_fullname'];
    $inbox_email = $inbox_row['inbox_email'];
    $inbox_phone = $inbox_row['inbox_phone'];
    $inbox_subject = $inbox_row['inbox_subject'];
    $inbox_url = $inbox_row['inbox_url'];
    $inbox_message = $inbox_row['inbox_message'];
    $inbox_day = $inbox_row['inbox_day'];
    $inbox_date = $inbox_row['inbox_date'];
    $inbox_year = $inbox_row['inbox_year'];
    $inbox_time = $inbox_row['inbox_time'];
    $inbox_timezone = $inbox_row['inbox_timezone'];

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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