假设您有一些代码,其中包含一个javascript工具提示,以及一个php foreach($ result as $ row)循环,它正在调用sql数据库中的值,如此,
<?php
foreach ($result as $row) {
$link = $qs->link($row,'item');
$logoImage = $qs->getLogo($row->file_id);
echo "<ul class=\"imggrid\"><li><a class=\"ItemLink\" href=\"$link\"><img width=\"80\" height=\"80\" src=\"" . $logoImage . "\" /></a></li></ul>";
?>
<script type="text/javascript">
jQuery(function() {
jQuery( document ).tooltip({ hide: "true", show: "false",
content: function() {
if ( jQuery(this).is( "img[src='<?php echo $logoImage ?>']" ) ) {
return "<img class='map' src='<?php echo $logoImage ?>'><a><?php echo $qs->abbreviate($row->title,50); ?></a>";
}
}
});
});
</script>
<?php
}
?>
这是过于简单的但是php吐出一个图片网格,我希望工具提示在每个图片悬停时显示更大的版本。现在它只显示所有图片的网格中的第一张图片。我假设这是因为脚本在循环之外。但我可以在foreach循环中抛出脚本吗?
任何建议或帮助都会很棒。请记住,我是这方面的新手。
编辑:我添加了我的代码部分。
编辑2:好的,我已经更新了这段代码,但现在它什么都没有显示。我认为这样可行,因为我选择了带有src = $ logoImage的img元素,其中$ logoImage会吐出文件的地址。
答案 0 :(得分:0)
foreach ($result as $row) {
// the echo sentence
?>
<!-- script goes here -->
<?php
}
请记住,在任何时候,您都可以关闭PHP标记并开始将原始数据(例如HTML)输出到页面。
答案 1 :(得分:0)
我想问题可能是因为您的图片代码中存在id
属性。
您需要为每个图像生成动态ID(可能来自数据库),并根据该工具提示来校准工具提示。
html页面不能多次使用相同的id。