1

我查找与口袋妖怪关联的图像并用 php.ini 显示它。然后我希望能够通过单击它来“翻转卡片”。我已经第一次单击向下,但是第二次单击以将卡翻转过来是行不通的。我认为这是我在 JS 中的 php 变量的语法:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">

<title>
'Murica!
</title>

<script>

function changeImage()
{

element=document.getElementById('pokemon_card')

if 
(element.src.match("http://dmisasi.files.wordpress.com/2010/12/david-pokemon-card-     back.jpg?w=750"))
{element.src="'.$result['image_url'].'";} //<- no idea how to express the php string variable here

else
{element.src="http://dmisasi.files.wordpress.com/2010/12/david-pokemon-card-back.jpg?     w=750";}

}

</script>

</head>

<body>

<?php

$dbhost = 'databasePlace';
    $dbname = 'mine';
    $dbuser = 'me';
    $dbpass = '******';

    $link = mysqli_connect($dbhost,$dbuser,$dbpass,$dbname);

    mysqli_select_db($link,$dbname);    


$name = $_GET["fname"];



                $query = sprintf("SELECT image_url, Type
                                  FROM Pokemon c
                                  WHERE c.name='%s'",
                mysqli_real_escape_string($link,$name));

    $result = mysqli_fetch_assoc(mysqli_query($link,$query));

    echo '<img id="pokemon_card" onclick="changeImage()" height="225" 
width="165" src="'.$result['image_url'].'"/>';

mysqli_close($link);

?>

</body>
</html>
4

5 回答 5

7

最简单的方法是将一个小的 PHP 脚本放在 Javascript 中,就像这样......

<script type="text/javascript">
function bla() {
    var thevar = "<?php echo $thevar; ?>";
}
</script>

换句话说,根据您的问题,您将用该行替换该{element.src="'.$result['image_url'].'";}{element.src="<?php echo $result['image_url']; ?>";}

于 2012-11-20T07:18:34.343 回答
1

用这个替换你的行:

element.src = "<?= $result['image_url'] ?>";

或者您可以设置一个 javascript var 并调用它:

var imageUrl = "<?= $result['image_url'] ?>";

// ...

element.src = imageUrl;
于 2012-11-20T07:19:05.667 回答
1

你必须使用

 json_encode

 <?php
  $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
  echo $t=json_encode($arr); // {"a":1,"b":2,"c":3,"d":4,"e":5}

 ?>

现在 $t 你可以传入 js 函数

在js代码中:

<script type="text/javascript">
function you_fun_nm() {
    var val = <?php echo $t; ?>
     alert(val);
}

于 2012-11-20T07:20:33.933 回答
1

尝试在javascript中编写php变量如下

{element.src="'<?php echo $result['image_url']; ?>'";}
于 2012-11-20T07:21:00.360 回答
1
  1. 您必须修改您的 Javascript 函数,以下是修改后的版本

    function changeImage(image_from_db)
    {
        element=document.getElementById('pokemon_card')
    
        if 
        (element.src == "http://dmisasi.files.wordpress.com/2010/12/david-pokemon-card-back.jpg?w=750")
        {
            element.src = image_from_db;} //<- image_from_db is being passed by you PHP script
        else
        {
            element.src="http://dmisasi.files.wordpress.com/2010/12/david-pokemon-card-back.jpg?w=750";
        }
    }
    
  2. 然后像这样在您的图像标签上调用上述函数

在此处输入图像描述

于 2012-11-20T07:39:13.407 回答