0

PHPを使用してMySQLからデータを取得しているので、パラメーターとしてIDをonClick()メソッドに渡す必要があります。

while($row = mysql_fetch_array($result))
{   
  echo '<a href=# onclick="showFilm('<?php echo $row['ID'] ?>')">' . 
    $row['Title'];
}

echoステートメントで構文の問題が発生しています。私は何が間違っているのですか?

4

3 に答える 3

1

はい、phpの行内でphpタグを開こうとしています。これを行う

echo '<a href="#" onclick="showFilm(' . $row['ID'] .')">' . $row['Title'] . '</a>';

</a>あなたが逃したクロージングもあります。理想的にはonclickを使用しないでしょうが、それはあなたが尋ねたものではなく、そこで壊れることはありません。ああ、hrefの値を引用する必要があります。

それで、あなたが尋ねたので、あなたがonclickの代わりにjQueryを使いたいとしましょう

echo '<a href="#" class="showfilm" data-filmid="' . $row['ID'] .'">' . $row['Title'] . '</a>';

jqueryライブラリを含める必要があります。このhttp://docs.jquery.com/How_jQuery_Works</body>を参照してください。その前に、または別のjsファイルに独自のスクリプトが必要になります。

<!-- the rest of your html blah blah -->
<script src="jquery.js"></script>
<script src="your-other-js-funcs.js"></script>
<script>
$(function(){
    $('.showfilm').on('click', function(e){
        e.preventDefault(); // stops the link doing what it normally 
                            // would do which is jump to page top with href="#"
        showFilm($(this).data('filmid'));
    });
});
</script>
</body>
</html>
于 2012-11-27T00:32:44.710 に答える
0

別の方法:

<?php while($row = mysql_fetch_array($result)) { ?>   
    <a href=# onclick="showFilm('<?php echo $row['ID'] ?>')"> <?php echo $row['Title'] ?> </a>
<?php } ?>

最後にタグを閉じることを忘れないでください。コードに表示されませんでした。

于 2012-11-27T00:35:47.333 に答える
0

あなたのHTML

<?php while($row = mysql_fetch_assoc($result)): ?>
    <a href="#showFilm" data-film-id="<?php echo $row['ID'] ?>">
        <?php echo $row['Title'] ?>
    </a>
<?php endwhile ?>

あなたのjQuery

$('a[href=#showFilm]').click(function(event) {
    showFilm( $(this).attr('data-film-id') );
    event.preventDefault();
});
于 2012-11-27T00:36:24.073 に答える