所以在我的代码中$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>'
然后它就起作用了。
我真正想做的是,将这个图像分配给中的div
echo '<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>';
?>
谢谢大家!
这里有一些错误。
<style="background:url('. $image .') "></style>
中的</style>
标记将触发HTML源中的Stray-end标记"style"警告。
您还需要使用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:还有这里的一些问题,因为我担心评论会永远持续下去。
你在这里使用的是两条路径:
$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>';
将错误报告添加到文件顶部,这将有助于查找错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
旁注:显示错误只能在暂存中进行,而不能在生产中进行。
您需要回显$image
:
<style="background:url(<?php echo $image ?>) "></style>