我已经建立了一个CMS并使用了worpress数据库,wp_posts& wp_postmeta。
我想要完成的是从wp_posts中提取数据,这将显示所有帖子,然后使用第二个查询我试图提取图像。
在wp_posts上,ID等于wp_postmeta上的post_id
我的代码正在运行,但是第二个查询的图片正在为所有帖子提取相同的图片,我如何从第一个查询中的$ ID中提取图片。
<?php
$query = "SELECT * FROM wp_posts
ORDER BY post_date DESC LIMIT 0, 25";
$result = mysqli_query($connection, $query) or die(mysqli_error($connection));
while($row = mysqli_fetch_array($result)) {
$ID = $row['ID'];
$post_title = $row['post_title'];
$post_date = $row['post_date'];
$post_excerpt = $row['post_excerpt'];
$post_content = $row['post_content'];
$querystrs = "
SELECT post_id,
MAX(CASE WHEN meta_key = '_wp_attached_file' THEN meta_value END) '_wp_attached_file'
FROM wp_postmeta
WHERE meta_key IN('_wp_attached_file') AND post_id = '' ";
$select_postmetaimage = mysqli_query($connection, $querystrs) or die(mysqli_error($connection));
while($row = mysqli_fetch_assoc($select_postmetaimage)) {
$image = $row['key_value'];
?>
<!-- First Blog Post -->
<div class="panel panel-primary">
<div class="panel-heading">
<h3><a href="post.php?p_id=<?php echo $ID; ?>"><font color="white"><?php echo $post_title; ?></font></a></h3>
<p><span class="glyphicon glyphicon-time"></span> <?php echo humanTiming( strtotime($post_date) ); ?>
</p>
</div>
<div class="panel-body">
<img class='col-md-4' align='left' width='148' src='images/<?php echo $image; ?>' alt=''>
<p><?php echo $post_content; ?></p>
</div>
<p align="right"><a class="btn btn-primary" href="post.php?p_id=<?php echo $ID; ?>">Read More <span class="glyphicon glyphicon-chevron-right"> </span></a></p>
</div>
<?php } } ?>
&#13;
答案 0 :(得分:1)
修改:更改图像位置。
我不认为第二个while循环是必要的。如果添加部件以在第一个查询中获取图像,则只需运行一次。请尝试(我没有数据确认100%),但它应该在正确的轨道上:
panel.setLayout(null);