从SQL查询打印数据

时间:2016-12-11 13:24:06

标签: php mysql string echo

所以我从两个查询中得到了一些数据,但是我在样式化方面失败了。

0
1
2
3
4
5

我想要的只是回应和设计我从查询中获得的数据并包含他们的href链接。 当我尝试添加href =“”和class =“”时,代码会混乱,因为“”会损坏字符串。

有没有办法回应数据而不会弄得太糟糕?

提前致谢。

3 个答案:

答案 0 :(得分:1)

你试图把所有这些都塞进一根绳子里,这让你自己很难过。如果您编写的大部分内容都是HTML,那么通常最好将其写在PHP标记之外,并将PHP放在您需要的地方。

所以而不是:

echo '<div class="'.'col s6">'.'<h4><a href="'.'/topic.php?id='.$row['id'].'">'.$row['title'].'</h4>'.'<img src="'.$row['image'].'".\'class="'.'responsive-img">'.'<p class="'.'class="light'.'">'.$row['highlights'].'</p></a> '.'in '.$cat['name'].'</div>';

你可以这样写:

?>
<div class="col s6">
    <h4>
        <a href="/topic.php?id=<?= $row['id'] ?>">
            <?= $row['title'] ?>
            <img src="<?= $row['image'] ?>"class="responsive-img">
            <p class="light">
                <?= $row['highlights'] ?>
            </p>
        </a>in <?= $cat['name'] ?>
    </h4>
</div>

这样写这样可以更容易发现错误,你在错误的地方关闭<h4>,并使其对其他人更具可读性。

答案 1 :(得分:1)

我建议使用sprintf方法来渲染具有给定变量的模板,这样就可以更好地了解所需内容以及预期结果。

所以给你的$ row和$ cat数组是这样的

$row = [
    'id' => 1,
    'title' => 'Some title',
    'image' => 'http://something.test/some/image.png',
    'highlights' => 'Dont know what it might be',
];

$cat = [
    'name' => 'category one'
];

以下演示如何将其值注入给定的PHP模板

<?PHP

$template = '
<div class="col s6">
    <a href="%s">
        <h4>%s</h4>
            <img src="%s" class="responsive-img">           
            <p class="light">%s</p>
    </a>in %s
</div>';

$rendered = sprintf(
    $template,
    'topic.php?id=' . $row['id'],
    $row['title'],
    $row['image'],
    $row['highlights'],
    $cat['name']
);

echo $rendered;

因此,上面的示例将输出以下HTML代码段

<div class="col s6">
    <a href="topic.php?id=1">
        <h4>Some title</h4>
            <img src="http://something.test/some/image.png" class="responsive-img">           
            <p class="light">Dont know what it might be</p>
    </a>in category one
</div>

请注意,你的HTML本身有一些缺陷,但看到你的问题是关于PHP的一面,我不打算详细介绍。

答案 2 :(得分:0)

你在某些地方做了不必要的连接。此外,您还需要修复<h4>标记的位置。

echo '<div class="col s6"><a href="/topic.php?id='.$row['id'].'"><h4>'.$row['title'].'</h4><img src="'.$row['image'].'" class="responsive-img" /><p class="light">'.$row['highlights'].'</p></a> in '.$cat['name'].'</div>';