所以在我的代码中,$ image是随机的,如下所示:
$image = get_rand_img('images/featured_images/csgo/');
如果我回复$image
,(记住我已经在PHP括号内),即:
echo'div id="featured-image">'
echo '<img src="/images/featured_images/dota/' . $image . '" alt="" />'
echo '</div>'
然后它有效。
我真正想要做的是将此图像分配给
中的divecho '<div id="featured-image" style="height: 267px; width: 292px">#
echo '<style="background:url('. $image .') "></style>'
echo '</div>'
这不起作用。它绘制div但不适用背景。我尝试过各种不同的事情,比如"
出了什么问题?
修改
以下代码建议有效。
<?php
try {
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
}
catch (PDOException $e) {
echo $e->getMessage();
echo 'Could not establish a connection to the database.';
}
$query = $conn->prepare('SELECT `articleid`,`title` FROM `news_articles` WHERE featured = 1 ORDER BY RAND() LIMIT 1');
$array = array(
'N'
);
$query->execute();
$results = $query->fetchAll(PDO::FETCH_COLUMN, 0);
foreach ($results as $row) {
}
$image = get_rand_img('images/featured_images/csgo/');
$title = $result['title'];
echo '<a href="index.php?viewarticle=1&articleid=' . $row . '">';?>
<div id="featured-image" style="height: 267px; width: 292px; background:url(/images/featured_images/csgo/<?php echo $image ?>)"></div>;
<?php
echo '</a>';
?>
谢谢你们!
答案 0 :(得分:1)
这里有一些问题。
</style>
中的<style="background:url('. $image .') "></style>
标记会在HTML源代码中触发错误结束标记&#34;样式&#34; 警告。
您还需要使用PHP标记并回显变量。
旁注:我怀疑你想在这里使用2x <style>
标签,而不是使用设置为内联的所有样式。
<div id="featured-image" style="height: 267px; width: 292px; background:url('<?php echo $image;?>')">
如果这不是你要找的东西,我只会删除我的答案。
编辑:根据OP的评论他们在PHP中,请使用并作为示例:
$image = "image.jpg";
echo '
<div id="featured-image" style="height: 267px; width: 292px; background:url('.$image.')">
</div>
';
编辑#2:以及此处的一些问题,因为我担心评论会永远持续下去。
您正在使用看似2条路径的内容:
$image = get_rand_img('images/featured_images/csgo/');
并且(/images/featured_images/<?php echo $image ?>)
顺便提一下,您已经在这里使用PHP了,所以放弃那些<?php echo
- ?>
。
您需要在此处使用get_rand_img()
功能的路径,而只使用$image
变量,而不是两个路径。
旁注:很难说你想在这里使用哪条路径。
你真的有一个名为
的路径吗? images/featured_images/csgo/images/featured_images/
- ??
images/featured_images/csgo/
?? (并没有像下面那样的斜线)?/images/featured_images/
?? 只有你知道那是什么。所以我建议你做/尝试
$image = get_rand_img('images/featured_images/csgo/');
$image = get_rand_img('images/featured_images/');
取决于您要从中提取图像的文件夹。
这个
echo '<a href="index.php?viewarticle=1&articleid=' . $row . '">';?>
<div id="featured-image" style="height: 267px; width: 292px; background:url(/images/featured_images/<?php echo $image ?>)"></div>;
应该给你一个错误。在;?>
之后你有一个$row . '">';
,这将关闭你的陈述以及PHP。
所以就这样做:
echo '<a href="index.php?viewarticle=1&articleid=' . $row . '">
<div id="featured-image" style="height: 267px; width: 292px; background:url('.$image.');"></div>';
将error reporting添加到文件的顶部,这有助于查找错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
旁注:只应在暂存时进行显示错误,而不是生产。
答案 1 :(得分:0)
您需要回复$image
:
<style="background:url(<?php echo $image ?>) "></style>