我是否正在尝试构建一个应该在不同列中显示用户发布的新闻的页面?由<divs>
处理。我想要做的是从我的数据库接收数据并将其分开,以便位于第一个H3列中的第一个数据(例如Headline属性)在第一个H3列中发布,第二个数据也位于Headline属性中。第二个H3列。我已经解决了与数据库的连接以及使用PHP发布到它的能力但是不知道如何解决这个部分,我只想要显示数据。
数据库只有一个表: 表:
属性:
sudocode:<div class="col1"><H3> <?php Headline = first post ?> </H3> <p><?php Content = first post ?></div> <div class="col2"><H3> <?php Headline = second post ?> </H3> <p><?php Content = second post ?></div>
等等。限制始终显示最近发布的六条新闻。我希望你们能理解我想要完成的事情。
答案 0 :(得分:0)
我假设你使用MySQL作为你的数据库,并且也在使用PDO。如果你不是,我建议你熟悉PDO。 首先,您显然需要从数据库中获取信息(新闻):
$sql = "SELECT News_ID, Headline, Content from NEWS ORDER BY News_ID DESC LIMIT 0,6";
$statement = $pdo->prepare($sql); // $pdo is your "connection" to the database
$statement->execute();
$news = $statement->fetchAll(PDO::FETCH_ASSOC); // $news array now has the six latest rows from your NEWS table
然后循环播放新闻:
foreach($news as $news_item) { // foreach will go through each element in the $news array
echo "<div class='something'>";
echo "<h3>".$news_item['Headline']."</h3>";
echo $news_item['Content'];
echo "</div>";
}
我编辑了SQL,以便它返回您想要的结果,这是您的NEWS表中的六个最新记录。我强烈建议您使用foreach
循环遍历$news
数组,因为它只包含您之后的六个最新行。无需为每一行执行echo $news[0]['Content']
。
如果我的回答帮助你做了你想做的事,你可以接受它。
答案 1 :(得分:0)
Okey我已经解决了我的问题&#34;几乎&#34;
<?php
$user_name = "root";
$password = "";
$database = "Hemsida";
$server = "localhost";
try{
$pdo = new PDO('mysql:host='.$server.'; dbname='.$database.';' , $user_name, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->exec("SET NAMES 'utf8'");
}catch(PDOException $e){
echo $e->getMessage();
}
try{
$result = $pdo->prepare("SELECT * FROM `News`");
$result->execute();
$news = $result->fetchAll(PDO::FETCH_ASSOC);
}catch(PDOException $e){
echo $e->getMessage();
}
?>
并且在每个<div>
我只需添加<?php echo $news[0][Headline] ?>
,我只需更改[0]
中每个不同列的数字。虽然我还有一个问题。这只会显示最后发布的六个帖子而不是最后六个帖子,你可以做些什么来反转,以便它首先获取最后一个帖子,以便最后一个帖子被分配[0]
而不是?