1

ポケモンに関連付けられた画像を検索し、php で表示します。次に、クリックして「カードを裏返す」ことができるようにしたいと考えています。最初のクリックはできましたが、カードを裏返すための 2 回目のクリックが機能しません。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

最も簡単な方法は、次のように、Javascript 内に小さな PHP スクリプトを配置することです...

<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 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 に答える