【问题标题】:How to echo specific elements from a database如何回显数据库中的特定元素
【发布时间】:2019-04-11 07:01:21
【问题描述】:

我试图在整篇文章中重复我的新闻表中的某些元素。这涉及到作者、标题、内容和日期等字段。目前我只能回显该行,并且任何在页面本身中回显元素的尝试要么遇到小错误,要么什么也不输出。我环顾四周,只发现人们在简单地打印出我已经可以做的行数据库时遇到问题。

基本上,当我的文章中有作者时,我想从我的数据库中回显作者,它将显示在作者旁边。我不确定这有多大可能,因为我还没有找到任何关于它的东西,或者我忽略了它。

这是我当前的 PHP 文件,我在开头部分留下了文章作者、日期和标题。

<?php

/* Database connection settings */
$host = 'xxxxx';
$user = 'xxxxx';
$pass = 'xxxxx';
$db = 'xxxxx';

$dbconnect=mysqli_connect($host,$user,$pass,$db);

if ($dbconnect->connect_error) {
  die("Database connection failed: " . $dbconnect->connect_error);
}


 $query = mysqli_query($dbconnect, "SELECT * FROM news WHERE news_Id = 1")
   or die (mysqli_errr($dbconnect));

while ($row = mysqli_fetch_array($query)) {
  echo
   "<tr>
    <td>{$row['headline']}</td>
    <td>{$row['content']}</td>
    <td>{$row['author']}</td>
    <td>{$row['date']}</td>   
   </tr>\n";

}

?>
<div class="container-fluid bg">
<div class="row">
    <div class="col-md-1"></div>
    <div class="col-md-10">
    <div class="container">         
        <div class="row mb-2">
            <div class="col-md-12">
                <div class="card">
                    <div class="card-body">
                        <div class="row">
                            <div class="col-md-12">
                                <div class="news-title">
                                    <h2><?php echo $row['headline']; ?></h2>
                                </div>
                                <div class="news-cats">
                                    <ul class="list-unstyled list-inline mb-1">
                                         <li class="list-inline-item">
                                                <i class="fa fa-folder-o text-danger"></i>
                                                <a href="#"><small>Author:</small> </a>
                                        </li>
                                         <li class="list-inline-item">
                                                <i class="fa fa-folder-o text-danger"></i>
                                                <a href="#"><small>Posted:</small></a>
                                        </li>
                                    </ul>
                                </div>
                                <hr>

【问题讨论】:

  • 这看起来很基本,你试过什么? if 怎么样?
  • 您的查询是否只返回一行?
  • 是的@Nick 它只返回我想要的一行,但我想在整个 html 中实际回显标题、作者等数据。像这样

    .

标签: php


【解决方案1】:

由于您的查询仅返回一行,因此 while 循环不适用于获取数据,因为在循环结束时,$row 将保留为 false 值,从而尝试访问例如$row['headline'] 失败。更改您的 while 循环

while ($row = mysqli_fetch_array($query)) {

一个简单的任务:

$row = mysqli_fetch_array($query) or die(mysqli_error($dbconnect));

请注意,您的代码前面有一个错字,

or die (mysqli_errr($dbconnect));

应该是

or die (mysqli_error($dbconnect));

【讨论】:

    【解决方案2】:

    您只是打印出结果,但没有标签。您可以像这样添加:

    while ($row = mysqli_fetch_array($query)) {
      echo
       "<tr>
        <td>Headline: {$row['headline']}</td>
        <td>Content: {$row['content']}</td>
        <td>Author: {$row['author']}</td>
        <td>Date: {$row['date']}</td>   
       </tr>\n";
    
    }
    

    【讨论】:

    • 您好,感谢您的回复。我正在尝试在 html 中回显该数据。这只是我迄今为止所做的一个例子。例如,如果您向下滚动到
      并查看

      标签,我想在其中回显标题。

    猜你喜欢
    • 2019-04-18
    • 1970-01-01
    • 2014-04-14
    • 1970-01-01
    • 2012-10-25
    • 2020-09-20
    • 1970-01-01
    • 2017-12-18
    • 2014-02-03
    相关资源
    最近更新 更多