繁体   English   中英

如何传递 PHP GET URL 变量以使用 Javascript 打开窗口?

[英]How can I pass PHP GET URL variables to open a window with Javascript?

我想将一个 PHP get 变量从一个链接传递给 Javascript,这样我就可以打开一个新的小窗口,其中包含传递给 URL 的值中的适当内容..我试图在下面这样做,但我不能......我真的很感谢你的帮助。 下面的代码生成图像超链接,每个超链接都有来自数据库的 ID,所以当点击图像时,应该打开一个新窗口,但 ID 应该传递给 javascript window.open 方法......我试图这样做使用 AJAX 根据 get 变量加载内容,但我做不到!

<?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>"; } ?>

不要忘记在 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 循环会使您的代码更简洁、更简洁。

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

当您的脚本在页面上呈现 HTML 时, window.openURL参数不会呈现为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>"; ?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM