PHPを使用してMySQLからデータを取得しているので、パラメーターとしてIDをonClick()メソッドに渡す必要があります。
while($row = mysql_fetch_array($result))
{
echo '<a href=# onclick="showFilm('<?php echo $row['ID'] ?>')">' .
$row['Title'];
}
echo
ステートメントで構文の問題が発生しています。私は何が間違っているのですか?
PHPを使用してMySQLからデータを取得しているので、パラメーターとしてIDをonClick()メソッドに渡す必要があります。
while($row = mysql_fetch_array($result))
{
echo '<a href=# onclick="showFilm('<?php echo $row['ID'] ?>')">' .
$row['Title'];
}
echo
ステートメントで構文の問題が発生しています。私は何が間違っているのですか?
はい、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>
別の方法:
<?php while($row = mysql_fetch_array($result)) { ?>
<a href=# onclick="showFilm('<?php echo $row['ID'] ?>')"> <?php echo $row['Title'] ?> </a>
<?php } ?>
最後にタグを閉じることを忘れないでください。コードに表示されませんでした。
あなたの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();
});