簡體   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