使用Variable设置后台URL - 我做错了什么?

时间:2016-01-09 23:42:51

标签: php css

所以在我的代码中,$ 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>';
?>

谢谢你们!

2 个答案:

答案 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>