PHP不会打印整个表
所以我尝试制作一个赤裸裸的博客,其中它打印mySQL表中的所有内容,但似乎只打印第一行。我有两段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
<?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是指第二个代码块,而不是第一个。同样的问题,只精确打印了一个东西,它正确地打印了第一块,但没有打印第二块。你在我的回答中准确地使用了这个代码吗?没有正当的理由它会出现同样的问题,只正确地打印一件东西,它正确地打印了第一块,但没有正确地打印第二块你在我的回答中使用了这个代码吗?它这样做没有正当理由