2017-10-16 58 views
0

我试图在HTML表格上显示每篇文章的类别,但没有提供任何错误。显示数据库中的类别

那么,查询是好的。我没有发现任何一种拼写错误的变量。

I get the post status in category side

<?php 
$query = "SELECT * FROM posts"; 
$se_posts = mysqli_query($connection,$query); 
while ($row = mysqli_fetch_assoc($se_posts)) { 
    $post_id = $row['post_id']; 
    $post_author = $row['post_author']; 
    $post_title = $row['post_title']; 
    $post_category_id = $row['post_category_id']; 
    $post_status = $row['post_status']; 
    $post_image = $row['post_image']; 
    $post_tags = $row['post_tags']; 
    $post_comment_count = $row['post_comment_count']; 
    $post_date = $row['post_date']; 

    echo "<tr>"; 
    echo "<td>{$post_id}</td>"; 
    echo "<td>{$post_author}</td>"; 
    echo "<td>{$post_title}</td>"; 

    // show post category 
    $query = "SELECT * FROM categories WHERE cat_id Like $post_category_id"; 
    $query_update_cat = mysqli_query($connection, $query); 

    while ($row = mysqli_fetch_assoc($query_update_cat)) { 
     $cat_id = $row['cat_id']; 
     $cat_title = $row['cat_title']; 

     echo "<td>{$cat_title}</td>"; 
    } 

    echo "<td>{$post_status}</td>"; 
    echo "<td><img class='img-responsive' width='100'src='../images/{$post_image}'></td>"; 
    echo "<td>{$post_tags}</td>"; 
    echo "<td>{$post_comment_count}</td>"; 
    echo "<td>{$post_date}</td>"; 
    echo "<td><a href='post.php?delete={$post_id}'>delete</a></td>"; 
    echo "<td><a href='post.php?source=edit_post&p_id={$post_id}'>Edit</a></td>"; 

    echo "</tr>"; 
} 
?> 
+0

问题是什么? – Raptor

+0

你检查了图像吗? – Alan

+0

你已经写过 echo“​​{$ post_status}”;显示状态。尝试删除它。 –

回答

0

还有就是你正在对每一个岗位(或文章)的请求的问题。 这是错误的,你应该尽可能减少请求的数量。另外,你正在使用LIKE!你应该使用相等的'='。

您所查询:

在这个范畴内循环,你应该在循环之前定义$ cat_title,然后将其设置在环路和环路打印它外面:

$cat_title = ""; 
while($row = mysqli_fetch_assoc($query_update_cat)){ 
    $cat_id = $row['cat_id']; 
    $cat_title = $row['cat_title']; 
} 
echo "<td>{$cat_title}</td>"; 

尝试此查询使用JOIN:

<?php 
$query = "SELECT * FROM posts JOIN categories ON (posts.post_category_id = categories.cat_id)"; 

$se_posts= mysqli_query($connection,$query); 
?> 
<table> 
<tr> 
    <td>post id</td> 
    <td>post author</td> 
    <td>post title</td> 
    <td>category</td> 
    <td>post status</td> 
    <td>image</td> 
    <td>tags</td> 
    <td>comment count</td> 
    <td>date</td> 
    <td>action</td> 
</tr> 
<?php 
while($row = mysqli_fetch_assoc($se_posts)) { 
    echo "<tr>"; 
    echo "<td>{$row['post_id']}</td>"; 
    echo "<td>{$row['post_author']}</td>"; 
    echo "<td>{$row['post_title']}</td>"; 
    echo "<td>{$row['cat_title']}</td>"; 
    echo "<td>{$row['post_status']}</td>"; 
    echo "<td><img class='img-responsive' width='100'src=\"../images/{$row['post_image']}\"></td>"; 
    echo "<td>{$row['post_tags']}</td>"; 
    echo "<td>{$row['post_comment_count}</td>"; 
    echo "<td>{$row['post_date']}</td>"; 
    echo "<td><a href=\"post.php?delete={$row['post_id']}\">delete</a></td>"; 
    echo "<td><a href=\"post.php?source=edit_post&p_id={$row['post_id']}\">Edit</a></td>"; 
echo "</tr>"; 
} 
?> 
</table> 
+0

以及我试图加入基于@raptors建议的2 quereis,但仍然不好:) – Alan

+0

Did你运行这个代码? @Alan –

+0

有没有帖子显示当你运行你的代码只是一张空表 – Alan