2015-05-21 37 views
1

林發表後保持變量值:使用此語句檢索我的記錄使用PHP_SELF

$sql=mysql_query("SELECT * FROM myTable WHERE category = '$catvalue'"); 

變量$ catvalue是從HTML採取選擇與行動使用PHP_SELF不同的選項。

$catvalue = ($_POST['value']); 

的問題是,我用我的網頁上的尋呼所以每次我點擊我失去的$catvalue值我的傳呼號碼之一,由於尋呼ID(下)被存儲在URL中,我的結果然後什麼都沒顯示

if(isset($_GET['id'])) { 
    $id = $_GET['id']; 
    ... 
} 

它工作正常,如果我不過濾,但我需要得到和發佈工作。任何想法或任何人都可以告訴我該學什麼?

謝謝!

+2

請停止使用不被使用的mysql函數,這些函數將來不會使用。傾向於使用PDO或mysqli代替。 不知道我明白你想要什麼,但檢查$ _SESSION變量 – xNeyte

+0

謝謝你會做... – bluesket

回答

3

如果您在刷新頁面後(例如,當您轉到另一頁面時)需要記住$_POST['value'],請將其存儲在會話中。

if (isset($_POST['value'])) { 
    $_SESSION['cat_value'] = $_POST['value']; 
} 

不要忘記在腳本的開頭爲session_start()

+0

謝謝,我已經讀過了,但仍然不知道要在我的mysql中添加什麼替代我的變量?添加'$ _SESSION ['catvalue']',因爲我試過了,而且沒有奏效。 – bluesket

+0

@bluesket:放入您的查詢'$ _SESSION ['cat_value']'而不是'$ catvalue' – panther

+0

現在根本不使用if(isset($ _ POST ['value'])){ $ _SESSION [ catvalue'] = $ _POST ['value']; } $ sql = mysql_query(「select * from myTable WHERE category = $ _SESSION ['catvalue'] LIMIT $ start,$ limit」); – bluesket

2

兩個解決方案:

1)當添加分頁,您可以通過$ catvalue作爲URL查詢paremeter與$ _GET取它[ 'catvalue']或

2)將$的價值會話或cookie中的catvalue,並從會話或cookie變量中讀取它的值。

0

首先使用session_start()開始會話,然後使用下面的代碼。

session_start(); 
if (isset($_POST['value'])) { 
    $_SESSION['catvalue'] = $_POST['value']; 
} 
0

好的,這裏是我的成品,感謝您的幫助。

session_start(); 
if (isset($_POST['value'])) { 
echo $_SESSION['catvalue'] = $_POST['value']; 
} 
$sql=mysql_query("select * from myTable WHERE category='".$_SESSION['catvalue'] . "'");