如何显示从数据库中检索的数组值,例如以下数组值。
while($row = mysqli_fetch_array($query)){
$post_id[] = $row['id'];
$post_user_id[] = $row['user_id'];
$post_title[] = $row['title'];
}
输出
<li><a href="' . $post_user_id . 'post.php?id="' . $post_id . '">' . $post_title . '</a></li>
<li><a href="' . $post_user_id . 'post.php?id="' . $post_id . '">' . $post_title . '</a></li>
<li><a href="' . $post_user_id . 'post.php?id="' . $post_id . '">' . $post_title . '</a></li>
<li><a href="' . $post_user_id . 'post.php?id="' . $post_id . '">' . $post_title . '</a></li>
<li><a href="' . $post_user_id . 'post.php?id="' . $post_id . '">' . $post_title . '</a></li>
答案 0 :(得分:2)
您可以在while
循环之外执行以下操作:
for($i=0;$i<count($post_id);$i++) {
echo '<li><a href="'.$post_user_id[$i].'post.php?id='.$post_id[$i].'">'.$post_title[$i] . '</a></li>';
}
答案 1 :(得分:1)
<?
$data = array();
while($row = mysqli_fetch_array($query)){
$data[] = $row;
}
?>
输出
<? foreach ($data as $row): ?>
<li>
<a href="<?=$row['post_user_id']?>post.php?id=<?=$row['post_id']?>">
<?=$row['post_title']?>
</a>
</li>
<? endforeach ?>
答案 2 :(得分:0)
while($row = mysqli_fetch_array($query)){
$post_id = $row['id'];
$post_user_id = $row['user_id'];
$post_title = $row['title'];
echo "<li><a href=\"" . $post_user_id . "post.php?id=" . $post_id . "\">" . $post_title . "</a></li>";
}
但在我的Oppinion中,链接的格式不是很好,你需要为每个用户提供一个[userid] post.php。更好的是:
echo "<li><a href=\""post.php?userid=\"".$post_user_id."\"&id=". $post_id ."\">" . $post_title . "</a></li>";
所以你的post.php通过点击链接获得用户ID和每个GET的id。
答案 3 :(得分:0)
for ($i=0; $i<sizeof($post_id); $i++) {
echo '<li><a href="' . $post_user_id[$i] . 'post.php?id=' . $post_id[$i] . '">'
. $post_title[$i] . '</a></li>';
}
答案 4 :(得分:0)
不是在多个变量之间拆分数据库记录(一行),而是将它们组合在一个多维数组中通常更好:
$posts = array();
while ($row = mysqli_fetch_array($query)) {
$posts[] = $row;
}
foreach ($posts as $post) {
echo $post['id'];
echo $post['user_id'];
echo $post['title'];
...
}
答案 5 :(得分:0)
更好的方法是
while($row = mysqli_fetch_array($query)){
echo '<li><a href="' . $row['user_id'] . 'post.php?id="' . $row['id'] . '">' . $row['title'] . '</a></li>';
}
如果您需要相同的输出。但在我看来,这些联系并不是很好。