2012-03-04 9 views
0

mysqlデータベースの特定の/行/列に対応する特定のリンクを訪問すると、ユーザーを一意のURLにリダイレクトする必要があります。ここ動的なJavaScriptのリダイレクト

は私は何を意味するかである:

MySQLデータベースは、行番号123とし、列名「column123」内部テーブルtable123を有しています。 この行と列がwebpage1.htmlに対応

通常、このようなものですJavaScriptのリダイレクト:私がする必要がどのような

<script>location.replace('http://website.com/webpage2.html');</script> 

webpage1.htmlのcolumn123から値を抽出し、それを追加していますリダイレクトurlであるため、その値で特にリダイレクトされます。

たとえば

:このリダイレクションスクリプトは、他のPHPページを呼び出しますPHPページの最上部に配置されます

<script>location.replace('http://website.com/webpage2.html/go/dbtable123row123column123value');</script> 

、それはこのようにリダイレクトスクリプトを使用する必要があり、毎回、動的である必要がありますドメイン名を除く静的な値ではなく、動的なプレースホルダ。

ありがとうございます。

+0

PHPを使用して、どのURLをリダイレクトするかを決定します。あなたのhtmlページに動的に似せてください: '<?php echo $ redirect_url; ?> ' – MyStream

+0

なぜJavaScriptを使用するのですか? 'header( '場所:http://website.com/webpage2.html/go/'.$table123row123column123);' – mplungjan

答えて

1

テーブルが本当にmysqlテーブルであり、javascriptがその情報にアクセスする手段がない場合は、他の提案に従って対処する必要があります。サーバー側。どうにかして、リダイレクトを行うhtml文書に表データが印刷されている場合は、次のことを考慮することができます。 (ただし、このサーバー側を管理する方が実際には意味があります)。

あなたのカラムに一意のIDを与え、そのテーブルがあなたのlocation.replaceコールを持っているWebページにあると仮定します。列にIDを割り当てることが現実的でない場合

location.replace("http://website.com/webpage2.html/go/" + $('#column123').text()) 

jQueryをしないと、あなたはおそらく:eq

location.replace("http://website.com/webpage2.html/go/" + $('#dbtable123 > tr:eq(1) > td:eq(3)').text()) 

(なしでいくつかのjQuery selector magicを使用することができ、

document.getElementById('#column123').innerHTML (or text?) 

を使用することができますテスト済み)

0

phpスクリプトを使用して動的URLを作成します。

header('Location: http://website.com/'.$table123row123column123); 
1

何らかの理由でPHPにリダイレクトすることができないと仮定すると、ここでは何をしますか。 AJAXを使用してデータベースから適切なWebページを取得します。私はあなたがそれを行うのを助けるためにjQueryのようなライブラリを使用することをお勧めします。あなたはjQueryのを使用する場合には、このような何かを見てみましょう:

$(function() { 
    $.get(
    '/script/that/queries/db.php', 
    'your=query_string&goes=here', 
    function(data) { 
     if(data.url.length > 0) { 
     location.href = data.url; 
     } 
    }, 
    'json' 
); 
}); 

あなたはこのリダイレクトが起動するタイミングを指定しませんでしたので、私はちょうど標準ボディのonloadにそれを置きます。とにかく、$.get()関数呼び出しを記述した後、/script/that/queries/db.phpにget変数に基づいてデータベースクエリを実行し、リダイレクトする有効なページを含むJSONエンコードされた配列を出力したいと考えています:

$json = array('url' => '/webpage2.html'); 
print json_encode($json); 

もちろん、疑似コードを書いただけですが、うまくいけばアイデアを得るのに役立ちます。

関連する問題