Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP不会打印整个表_Php_Mysql - Fatal编程技术网

PHP不会打印整个表

PHP不会打印整个表,php,mysql,Php,Mysql,所以我尝试制作一个赤裸裸的博客,其中它打印mySQL表中的所有内容,但似乎只打印第一行。我有两段PHP代码,这是第二段 正如您在代码中看到的,我首先在一个单独的块中打印最新的行,因此如果您还知道如何跳过表中第二个块的最新行,那也很好 提前谢谢 <?php include_once"connect.php"; //Inkluderar connect.php filen $sql = "SELECT * FROM posts"; $result = $conn->query($sql

所以我尝试制作一个赤裸裸的博客,其中它打印mySQL表中的所有内容,但似乎只打印第一行。我有两段PHP代码,这是第二段

正如您在代码中看到的,我首先在一个单独的块中打印最新的行,因此如果您还知道如何跳过表中第二个块的最新行,那也很好

提前谢谢

<?php
include_once"connect.php"; //Inkluderar connect.php filen

$sql = "SELECT * FROM posts";
$result = $conn->query($sql);
?>

<html>
<head>
<link rel="stylesheet" type="text/css" href="css/style.css">
<link rel="stylesheet" type="text/css" href="css/post-style.css">
<link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,300|PT+Sans:400,700|PT+Serif|PT+Sans+Narrow' rel='stylesheet' type='text/css'>
<meta name="viewport" content="width=device-width">
</head>

<body>
<?php
    include_once"header.php";

    //Väljer all data från angivna tabellen
    $sql = "SELECT * FROM posts ORDER BY id DESC LIMIT 1";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        //Skriver ut data från varje rad
        while($row = $result->fetch_assoc()){
            echo '<div id="newest" style="background-image: url(img/' .$row['img']. ');">';
            echo '<div id="newest-text">';
            echo '<h1 class="title">' . $row['title'] . '</h1>';
            echo '<h3 class="subtitle">' . $row['subtitle'] . '</h3>';
            echo '<a class="fullPost" href="post.php?id=' . $row['id'] . '"><i>Read More</i></a>';
            echo '</div></div>';
        }
    };
 ?>

<div id="content">
    <?php
    //Väljer all data från angivna tabellen
    $sql = "SELECT * FROM posts ORDER BY id";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        //Skriver ut data från varje rad
        while($row = $result->fetch_assoc())
            {
            echo '<div class="post">';
            echo "<div class='img'><img src=".'img/'.$row['img']." /></div>";
            echo '<h1 class="title">' . $row['title'] . '</h1>';
            echo '<h3 class="subtitle">' . $row['subtitle'] . '</h3>';
            $words = split(" ", $row['content']);
            for ($i = 0; ($i < 50 && $i < count($words)); $i++) {
                echo $words[$i] . " ";
            }
            echo '<br><a class="fullPost" href="post.php?id=' . $row['id'] . '"><i>Read More</i></a>';
            echo '<div class="line-separator"></div>';
            echo '<p class="tag"> Topic - ' . $row['tag'] . '</p>';
            echo '<p class="date">' . $row['date'] . '</p>';
            echo '</div>';
            }
       };
     ?>
</div>

但它似乎只打印第一行

请查看您的查询:

SELECT * FROM posts ORDER BY id DESC LIMIT 1
限制1

LIMIT子句用于指定要返回的记录数,删除它以获取所有记录

但它似乎只打印第一行

请查看您的查询:

SELECT * FROM posts ORDER BY id DESC LIMIT 1
限制1

LIMIT子句用于指定要返回的记录数,删除它以获取所有记录。

您的SQL有一个LIMIT子句,这意味着在这种情况下,只有一行返回最新的一行

如果增加或删除限制,代码应该显示所有这些行。

您的SQL有一个limit子句,这意味着在这种情况下,只有一行返回最新的行


如果增加或删除限制,代码应显示所有这些行。

由于您对同一个表查询了3次,因此最好只查询一次:

<?php
include_once"connect.php"; //Inkluderar connect.php filen

$sql = "SELECT * FROM posts ORDER BY id DESC";
$result = $conn->query($sql);

#just for debug
echo 'result->num_rows  = '.$result->num_rows;
?>

<html>
<head>
    <link rel="stylesheet" type="text/css" href="css/style.css">
    <link rel="stylesheet" type="text/css" href="css/post-style.css">
    <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,300|PT+Sans:400,700|PT+Serif|PT+Sans+Narrow' rel='stylesheet' type='text/css'>
    <meta name="viewport" content="width=device-width">
</head>

<body>
<?php

if ($result->num_rows > 0) {
    //Skriver ut data från varje rad
    if($row = $result->fetch_assoc()){
        echo '<div id="newest" style="background-image: url(img/' .$row['img']. ');">';
        echo '<div id="newest-text">';
        echo '<h1 class="title">' . $row['title'] . '</h1>';
        echo '<h3 class="subtitle">' . $row['subtitle'] . '</h3>';
        echo '<a class="fullPost" href="post.php?id=' . $row['id'] . '"><i>Read More</i></a>';
        echo '</div></div>';
    }
};
?>

<div id="content">
    <?php
    if ($result->num_rows > 0) {
        //Skriver ut data från varje rad
        while($row = $result->fetch_assoc())
        {
            echo '<div class="post">';
            echo "<div class='img'><img src=".'img/'.$row['img']." /></div>";
            echo '<h1 class="title">' . $row['title'] . '</h1>';
            echo '<h3 class="subtitle">' . $row['subtitle'] . '</h3>';
            $words = split(" ", $row['content']);
            for ($i = 0; ($i < 50 && $i < count($words)); $i++) {
                echo $words[$i] . " ";
            }
            echo '<br><a class="fullPost" href="post.php?id=' . $row['id'] . '"><i>Read More</i></a>';
            echo '<div class="line-separator"></div>';
            echo '<p class="tag"> Topic - ' . $row['tag'] . '</p>';
            echo '<p class="date">' . $row['date'] . '</p>';
            echo '</div>';
        }
    }
    ?>
</div>

在每次调用fetch_assoc时,db游标将向前移动1条记录,直到不再有行为止

,因为查询同一个表3次,最好只查询一次:

<?php
include_once"connect.php"; //Inkluderar connect.php filen

$sql = "SELECT * FROM posts ORDER BY id DESC";
$result = $conn->query($sql);

#just for debug
echo 'result->num_rows  = '.$result->num_rows;
?>

<html>
<head>
    <link rel="stylesheet" type="text/css" href="css/style.css">
    <link rel="stylesheet" type="text/css" href="css/post-style.css">
    <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:600,400,300|PT+Sans:400,700|PT+Serif|PT+Sans+Narrow' rel='stylesheet' type='text/css'>
    <meta name="viewport" content="width=device-width">
</head>

<body>
<?php

if ($result->num_rows > 0) {
    //Skriver ut data från varje rad
    if($row = $result->fetch_assoc()){
        echo '<div id="newest" style="background-image: url(img/' .$row['img']. ');">';
        echo '<div id="newest-text">';
        echo '<h1 class="title">' . $row['title'] . '</h1>';
        echo '<h3 class="subtitle">' . $row['subtitle'] . '</h3>';
        echo '<a class="fullPost" href="post.php?id=' . $row['id'] . '"><i>Read More</i></a>';
        echo '</div></div>';
    }
};
?>

<div id="content">
    <?php
    if ($result->num_rows > 0) {
        //Skriver ut data från varje rad
        while($row = $result->fetch_assoc())
        {
            echo '<div class="post">';
            echo "<div class='img'><img src=".'img/'.$row['img']." /></div>";
            echo '<h1 class="title">' . $row['title'] . '</h1>';
            echo '<h3 class="subtitle">' . $row['subtitle'] . '</h3>';
            $words = split(" ", $row['content']);
            for ($i = 0; ($i < 50 && $i < count($words)); $i++) {
                echo $words[$i] . " ";
            }
            echo '<br><a class="fullPost" href="post.php?id=' . $row['id'] . '"><i>Read More</i></a>';
            echo '<div class="line-separator"></div>';
            echo '<p class="tag"> Topic - ' . $row['tag'] . '</p>';
            echo '<p class="date">' . $row['date'] . '</p>';
            echo '</div>';
        }
    }
    ?>
</div>

在每次调用fetch_assoc时,db游标将向前移动1条记录,直到不再有行

您按id排序,但不知道它是升序还是降序。因此,将此SELECT*从posts ORDER BY id更改为SELECT*从posts ORDER BY id ASC或SELECT*从posts ORDER BY id DESC您是否使用mysql、mysqli或pdo PHP扩展?@DiddleDot ORDER BY默认为ASC。@没有指定的DiddleDot排序是升序的缩写。这很常见,不会导致错误。echo$result->num\u rows;它显示了多少行您是按id排序的,但不知道是升序还是降序。因此,将此SELECT*从posts ORDER BY id更改为SELECT*从posts ORDER BY id ASC或SELECT*从posts ORDER BY id DESC您是否使用mysql、mysqli或pdo PHP扩展?@DiddleDot ORDER BY默认为ASC。@没有指定的DiddleDot排序是升序的缩写。这很常见,不会导致错误。echo$result->num\u rows;它显示了多少行,但OP正在谈论第二块php代码,……但它似乎只打印第一行。我有两段PHP代码,这是第二段。正如您在代码中所看到的,我首先在一个单独的块中打印最新的一行…但是OP谈论的是php代码的第二块,…但是它似乎只打印第一行。我有两段PHP代码,这是第二段。正如你在代码中看到的,我首先在一个单独的块中打印最新的一行…OP是指第二个代码块,而不是第一个。OP是指第二个代码块,而不是第一个。同样的问题,只精确打印了一个东西,它正确地打印了第一块,但没有打印第二块。你在我的回答中准确地使用了这个代码吗?没有正当的理由它会出现同样的问题,只正确地打印一件东西,它正确地打印了第一块,但没有正确地打印第二块你在我的回答中使用了这个代码吗?它这样做没有正当理由