2012-01-19 15 views
0

我想在兩個php頁面之間發送一個在我的數據庫中的「ID」。基本上在「showDocuments」中,我顯示了文檔列表,並在「ShowFiche」中顯示特別是文檔,但現在在我的代碼中,我顯示了一個沒有變量的文檔。 在這裏你有我的日期的基礎:與ID,NOM,AUTEUR的表文件 thx所有爲你的答案和抱歉我的英語,我是法國人!發送php兩頁之間的數據庫的標識號

第1頁:

public function ShowDocuments ($_value) 
    { 
    $_POST['ID'] = 1; 
    echo 'Liste des documents'; 
    $nb = count ($_value['data']['NOM']); 
    for ($i = 0, $tr = ''; $i < $nb; ++$i) 
    { 
     $mod = $i%2; 
     $param = 'EX=form&ID='.$_value['data']['ID'][$i]; 

     $tr .= <<<HERE 
<tr class="ligne$mod"> 
<td><a href="../Php/appli.php?EX=fiche"> {$_value['data']['NOM'][$i]}....................</a></td> 
<td>{$_value['data']['AUTEUR'][$i]}....................</td> 
</tr> 

HERE; 

    } 

第2頁:

public function ShowFiche() 
    { 
    $Id_Var = $_GET['ID']; 
    $db = mysql_connect('localhost', 'root', 'root'); 

     // on sélectionne la base 
     mysql_select_db('BaseTp',$db); 

     $sql = 'SELECT NOM, AUTEUR FROM DOCUMENTS WHERE ID = 0'; 

     // on envoie la requête 
     $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

     // on fait une boucle qui va faire un tour pour chaque enregistrement 



     while($data = mysql_fetch_assoc($req)) 
     { 
      echo 'Titre : ' . $data['NOM'] .'<br><br>' . 'Auteur : ' . $data['AUTEUR']; 
     } 


     mysql_close(); 

    echo $_value['ID'][$i]; 

HERE; 

    } 
+1

你試過會話變量? –

回答

0

可以使用setcookie()功能以存儲一個cookie,並使用它時,需要

示例代碼

//Check if cookie exists 
if (isset($_COOKIE['uid'])) { 
    //Get UID from cookie 
    $uid = $_COOKIE['uid']; 
} else { 
    //Generate UID 
    $uid = uniqid(); 
    //Store in cookie 
    setcookie('uid',$uid); 
} 
+0

依靠cookie爲id不是一個好主意,而是使用會話。 –

+0

對不起,但我的項目規則doestn't要我使用餅乾:) – user1158648

+0

所以餅乾適合你嗎? –

0

你如何期待魔術的發生?您需要明確呼叫第2頁的showFiche。 此外,你不returnShowDocuments你的行,所以沒有輸出預計。最後但並非最不重要的,你的請求沒有被你抓住了ID參數化...

// page1.php 

function showDocuments() { 
    $str = ''; 
    $str .= 'mystuff from database, including links to page2.php?id=…'; 
    return $str; 
} 

echo showDocuments(); 

// page2.php 
if (isset($_GET['id'])) { 
    $id = int($_GET['id']); 
    showFiche ($id); 
} else { echo "no id given!"; } 

但請記住,你的代碼是一個爛攤子:

  • 數據庫相關的參數應該是在一個配置文件
  • 數據庫訪問應該使用內部抽象php PDO module
  • 函數應該做一些操作和計算,並返回一組結果(例如數組)。所有的妝都應該在外面完成。錯誤處理也一樣。

希望這有助於:)

+0

thx你我試試這個。 – user1158648

相關問題