2016-12-20 116 views
0

我在PHP中很新,我在兩頁上工作。 我在db表會是這樣:輸入後過濾PHP

CREATE TABLE tbl_module 
(
    module_id int, 
    module_name varchar(255) 
); 
INSERT INTO tbl_module 
    (module_id, module_name) 
VALUES 
    (1,"001-erty"), 
    (2,"002-yuio"), 
    (3,"001-vbnm"), 
    (4,"003-hjkl"), 
    (5,"001-qwer"), 
    (6,"001-dfgh"); 

僅第一頁是這樣的:

<input type="text" name="module_name"> 
<input type="submit" name="btn_save" value="Save"> 
<?php 

    if (!empty(isset($_POST["btn_save"]))) 
    { 

     $project_type = $_POST["project_type"]; 
     mysql_query ("INSERT INTO tbl_modules(module_name) VALUES('$module_name')"); 

    ?> 

當我按一下按鈕,它會帶我去,我想在第二頁這種輸出:

============= 
HISTORY 
------------- 
001-erty 
001-vbnm 
001-qwer 
001-dfgh 

============= 
RECENT INPUT 
------------- 
001-asdf 

我們假設我們最近的輸入是'001-asdf'。在HISTORY中,它只顯示與最新模塊匹配的模塊。正如您在'tbl_modules'中看到的,不以'001 -...'開頭的模塊沒有出現在HISTORY中。

我的問題是,我無法得到正確的查詢,似乎是這樣。

+1

請你澄清特定的問題或添加額外的細節,以確切地突出你所需要的。正如目前所寫,很難確切地說出你在問什麼。請參閱[問]頁面以獲得澄清此問題的幫助。 –

+1

@PraveenKumar:對不起,抱歉。這裏挺新的。我只是想讓我的輸出顯示與我之前輸入到第二頁相同的輸出。我想到的問題有很多,我不知道在我嘗試過的所有代碼後,究竟該問什麼。對不起 – akamariaclaraaa

+0

現在看起來不錯。 –

回答

1

只需將最新的輸入與PHP分裂爆炸功能

$module_fname = explode('-',$module_name)[0]; 

然後

SELECT module_name FROM [tbl_module] WHERE module_name LIKE $module_fname.'%' 
+0

這有助於您。非常感謝! :) – akamariaclaraaa

0

不幸的是,由於我無法評論,我無法澄清你的期望。但是,我會回答我的理解。

您的表tbl_module沒有自動增加字段。 如果包含它,則可以有兩個查詢,我們可以將它們用於您的場景。

「SELECT project_name FROM tbl_module ORDER BY module_id LIMIT 10」。這裏10表示要在歷史記錄中顯示的條目數量。

至於最後一個「最近的條目」是類似的東西,除了我們採取ORDER BY module_id DESC獲取最新的條目。

希望這會有所幫助。

編輯: - 我的第一個有輕微的錯誤,這裏是更新之一: -

「選擇PROJECT_NAME FROM tbl_module ORDER BY是模塊,PROJECT_NAME LIMIT 10」

+0

Adniwhack。謝謝你,但我想你誤解了我的問題。我只想找到與我最近輸入的字符相匹配的字符(例如'001-')。 – akamariaclaraaa

+0

可以理解,歡迎您 –