2012-01-19 8 views
0

私は2つのPHPページの間に自分のデータベースにある「ID」を送りたいと思っています。基本的に "showDocuments"では、ドキュメントのリストを表示し、 "ShowFiche"では特にドキュメントを表示したいが、今は自分のコードで変数を持たないドキュメントを表示する。 ここに私の日付ベースがあります:ID、NOM、AUTEURのテーブル文書 あなたのすべての答えと私の英語のために申し訳ありませんが、私はフランス語です!PHPの2ページ間にデータベースのIDを送ってください

ページ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()機能を使用することができます
//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

idのクッキーに依存するのは良い考えではなく、代わりにセッションを使用してください。 –

+0

申し訳ありませんが、私のプロジェクトルールは私がクッキーを使用したいと思っていません:) – user1158648

+0

クッキーはあなたのために働くでしょうか? –

0

どのように魔法が起こると思いますか?ページ2からshowFicheを明示的に呼び出す必要があります。 また、returnの行はShowDocumentsから出力されないため、出力は期待できません。そして、少なくとも最後のではなく、あなたの要求はあなたがつかんだ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

あなたはこれを試してみます。 – user1158648

関連する問題