如何在一个静态网站上查询mysql用户数据库,该网站上也有wordpress博客文章摘要



我有一个html和php的静态网站。在页脚中,我有一个片段,从我主持的wordpress博客中检索4篇最新的博客文章,该博客与静态网站相连。

我用来获取最近博客文章的代码是

<?php
// Include WordPress
require_once($_SERVER['DOCUMENT_ROOT'] . '/blog/wp-load.php');query_posts('showposts=4');?>
<!-- Footer Content -->
<div class="col-lg-3 col-md-6 g-mb-40 g-mb-0--lg">
<div class="u-heading-v2-3--bottom g-brd-white-opacity-0_8 g-mb-20">
<h2 class="u-heading-v2__title h6 text-uppercase mb-0">From the Wisdom Tooth</h2>
</div>
<?php while (have_posts()): the_post(); ?>
<article>
<h3 class="h6 g-mb-2">
<a class="g-color-white-opacity-0_8 g-color-white--hover" href="<?php the_permalink() ?>"><?php $thetitle = $post->post_title; /* or you can use get_the_title() */$getlength = strlen($thetitle);$thelength = 25;echo substr($thetitle, 0, $thelength);if ($getlength > $thelength) echo "...";?></a>
</h3>
<div class="small g-color-white-opacity-0_6"><?php echo get_the_date( 'd M Y' ); ?></div>
</article>
<hr class="g-brd-white-opacity-0_1 g-my-10">
<?php endwhile; ?>

我想在同一个页面上做的是获得一些用户的列表,这些用户存储在一个单独的mysql数据库中。

我试过这个

<?php 
require_once($_SERVER['DOCUMENT_ROOT'].'/staff/config.php');
$sql = "SELECT `stafffname` FROM `accounts` WHERE active = 1 AND id != (SELECT MIN(id) FROM `accounts`) ORDER BY stafffname ASC";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "" .$row["stafffname"]. ", " ;
}
} else {
echo "";
}   
$mysqli->close();
flush();
ob_flush();
?>

获取用户的代码在博客文章的页脚代码之前运行。

但当我这样做的时候,我的页面底部没有加载,我得到了一个错误

建立与wordpress网站的数据库连接。

我试着找到了解决这个问题的方法,但似乎无法实现。

我是遗漏了什么,还是语法错误,或者不能这样做?

谢谢你的建议。

看起来wordpress保持了一个与数据库的持久连接。在这种情况下尝试建立新的连接是有问题的。可能有一些可用的解决方案,但我建议您首先进行数据库查询,存储数据,然后将其回显到您想要的位置。

顶部:

require_once($_SERVER['DOCUMENT_ROOT'].'/staff/config.php');
$sql = "SELECT `stafffname` FROM `accounts` WHERE active = 1 AND id != (SELECT MIN(id) FROM `accounts`) ORDER BY stafffname ASC";
$result = $mysqli->query($sql);
$staff = array();
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$staff[] = $row["stafffname"];
}
}   
$result->free();
$mysqli->close();

然后放在你需要的地方:

echo implode(",", $staff);

我想明白了@Kinglish-你在评论中启发了我的想法,WP正在与博客保持持久的联系。由于这不是一个活动的博客页面,所以它动态更新并不重要。

因此,我只是做了一个基于非wp代码的查找

<?php
$mysqli = new mysqli(localhost, username, password, tablename);
$sql2 = "SELECT post_title, post_date, guid FROM wp_posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY post_date DESC LIMIT 4";
$result2 = $mysqli->query($sql2);
if($result2->num_rows > 0) 
{
while($row2 = $result2->fetch_assoc()) 
{
echo '
<article>
<h3 class="h6 g-mb-2">
<a class="g-color-white-opacity-0_8 g-color-white--hover" href="'.$row2['guid'].'">'.$row2['post_title'].'</a>
</h3>
<div class="small g-color-white-opacity-0_6">'.date('d M Y', strtotime($row2['post_date'])).'</div>
</article>
<hr class="g-brd-white-opacity-0_1 g-my-10">

';
}
} else 
{
echo "No Post Avaliable";
}
?>  
</div>
<!-- End Footer Content -->

相关内容

  • 没有找到相关文章

最新更新