2013-11-21 59 views
0

我想知道什麼是對我這個小問題的最佳解決方案。執行php代碼將選項卡切換到第一個選項卡 - 如何避免這種情況?

我有一個頁面只有幾個選項卡,第一個通過mysql_fetch_array顯示數據。第二個選項卡包含來自不同類對象的一些其他數據,該數據也通過mysql_fetch_array顯示。

在第二個選項卡上,我放置了排序鏈接和搜索字段,它允許搜索和排序數據,重新載入頁面並再次顯示第一個選項卡。

我得到所有的數據權利,搜索工作,鏈接工作,但是我想避免切換回第一個選項卡一旦代碼已經在第二個執行。

AJAX是唯一的解決方案嗎?

編輯:

這是不是一個準備好的聲明?

public static function SelectObj($obj,$base,$cond) { 
    self::$query = "select $obj from ".self::$baseprefix."$base where $cond"; 
    $out = self::Execute(); 
    //$array = mysql_fetch_array($out); 
    //return $array[$obj]; 
    return $out; 
} 

    private static function Execute() { 
    $out = mysql_query(self::$query); 
    return $out; 
} 
+2

一般t帽子不應該是唯一的選擇,你可以改變頁面的服務器端構建,使得默認情況下顯示第二個選項卡,如果滿足某些標準的話。 – rolfv1

+2

[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 – h2ooooooo

+0

@ h2ooooooo感謝您的意見。我在我的代碼中使用了準備好的語句。感謝您提供mysqli和PDO,我一定會仔細研究一下,然後切換。 – Abbys

回答

0
在後端

當處理是在會議done.save tabid

session_start(); 
$_SESSION['tabID']=2; //which ever tab u want to be active 

,並在標籤page.get的標籤值並清空變量

$tabID=1; //default tab u want to show normally 
    session_start(); 
    if(isset($_SESSION['tabID'])){ 
    $tabID=$_SESSION['tabID']; 
    unset($_SESSION['tabID']); //unset it so that when u come next time to same page.it ll show only the dafault page 
} 

和在jquery標籤中使用這個

$('#tabs').tabs({active:<?php echo $tabID; ?>}); 
相關問題