2012-12-22 57 views
6

基本的には、PHPの変数をJavaScriptのリンクに渡したいので、URLに渡された値から適切な内容の新しい小さなウィンドウを開くことができます。あなたの援助に本当に感謝しています。以下のコードは、それぞれデータベースからIDを持っている画像ハイパーリンクを生成するので、画像をクリックすると新しいウィンドウが開きますが、IDはjavascript window.openメソッドに渡されます。 get変数に応じてコンテンツを読み込むAJAXを使用していましたが、できませんでした。PHP GET URL変数を渡してJavascriptでウィンドウを開くにはどうすればよいですか?

<?php 
require('../database/connect.php'); 
database_connect(); 
$query = "select * from Entertainers"; 
$result = $connection->query($query); 
$row_count =$result->num_rows; 

for($i = 1; $i <= $row_count; $i++) 
    { 
    $row = $result->fetch_assoc(); 


?> 
<?php echo "<a href='' onclick='window.open(profile.php?id=".$row['ID'].")'><img src ='../".$row['Picture']."' width='100' height='100' /> </a>"; } ?> 
+0

なぜ 'ながら($行= $ result-> FETCH_ASSOC()){}' ?? –

+0

最後に一致する中括弧はスクリプトの最後にあります。渡された変数でウィンドウが開いているようです。 –

答えて

2

Javascript openのURLを引用することを忘れないでください。また、出力にprintf()を使用することを検討しましたか?

$link = 
'<a href="" onclick="window.open(\'profile.php?id=%d\')">' 
. '<img src="../%s" width="100" height="100" /></a>' . PHP_EOL; 

for($i = 1; $i <= $row_count; $i++) { 
    $row = $result->fetch_assoc(); 
    printf($link,$row['ID'],$row['Picture']); 
} 

%d小数を表し、%sは、上記の文字列(したがって$link)の文字列を表します。 別のヒント: forループを使用する特別な理由がない場合は、whileループを使用してコードをよりきれいにし、短くします。あなたのスクリプトがwindow.openURLパラメータがないあるページにHTMLをレンダリング

while ($row = $result->fetch_assoc()) { 
    printf($link,$row['ID'],$row['Picture']); 
} 
+0

あなたはGENIUS .. THAANK YOU !!!!あなたは本当に私を救った..私はあなたの答えを受け入れることができます...私は私たちが連絡を取りたいと思います..私はロサンゼルス、CA –

+0

から来ています私は200と100のその開いたウィンドウを作ることができますか? –

+0

どうすればそのウィンドウの幅を100、高さを200にすることができますか?私はあなたがすでに私に与えたコードからその効果を得たいと思います。 –

0

stringとしてレンダリングされています。あなたのコードは、現在のページにレンダリング何

<a href='' onclick='window.open(profile.php?id={some_id})'><img src ='../".$row['Picture']."' width='100' height='100' /> </a>"; } ?> 

URL profile.php?id={some_id}ないそれがクライアントで解析される文字列です。

これを試してください:

<?php echo "<a href='' onclick=\"window.open('profile.php?id=" . $row['ID'] . "');\"><img src ='../".$row['Picture']."' width='100' height='100' /> </a>"; ?> 
+0

それは全くありませんでした –

+0

@GuyRwayitareそれは変です。私がしたのは、JS呼び出しであなたのURLの周りに引用符を追加することでした。何かエラーがありますか?上記のinhanの解はきれいですが、基本的に同じです。 –

+0

エラーはありません。ページは開かれません。 –

関連する問題