我正在编写自己的简单博客。到目前为止,我只剩下 1 个非常恼人的错误。如果我的数据库中有 4 行数据,则前 2 行(具有最低 ID)将不会显示。因此,如果我添加新的第三行,则只有第一行会弹出我的屏幕,并且在第三行出现之前需要 2 个新帖子。如果我翻转 ID 的序列,如果我的数据库中有 2 个无用的帖子,它确实有效。但是我当然希望更高的 id 显示在顶部。
以下是将数据库信息放在屏幕上的代码:
<?php
require('config.inc.php');
require('template.inc.php');
require('functions.inc.php');
include_once('insert.php');
$query="SELECT * FROM blog ORDER BY ID DESC";
$result=mysql_query($query);
$db_field = mysql_fetch_assoc( $result );
mysql_fetch_assoc( $result );
mysql_close();
htmlOpenen('ServerSideBlog');
while ($db_field = mysql_fetch_assoc($result) ) {
echo'
<span class="post">
<h1>'.$db_field['title'].'</h1>
<h2>'.$db_field['date'].'</h2>
<p>'.$db_field['contents'].'</p>
<h3>Hoogachtend, Sincerely, Aufrichtig, sinceramente,</h3>
<h4>'.$db_field['author'].'</h4>
';
}
htmlSluiten();
?>
这里是在数据库中添加帖子的代码:
<?php
$db_host = "db.jxxxxx.com";
$db_username = "md2xxxx230";
$db_pass = "J9xxxx58";
$db_name = "md2xxxxx230";
@mysql_connect("$db_host","$db_username","$db_pass") or die ("could not connect to mysql");
@mysql_select_db("$db_name") or die ("no database");
if ($_POST['parse_var'] == "new"){
$title=$_POST['title'];
$contents=$_POST['contents'];
$author=$_POST['author'];
$date=$_POST['date'];
$date = strftime("%b %d, %y", strtotime($date));
$sqlcreate = mysql_query("INSERT INTO blog (date, title, contents, author)
VALUES(now(),'$title','$contents','$author')");
}
?>
我找不到任何问题的解决方案......希望我能在这里得到一些遮阳篷:)