我有一个包含几个表的数据库。我正在处理的表中有6列,
school_id, title, location, content, class_date and user_id
school_id是唯一的(范围从1-20),有4个不同的user_id(范围从1-4).....我正在一个有一个显示用户信息的表的网站上工作这是对应的。我在显示的表的最后一列中有一个ReadMore链接,我的问题是,当我单击ReadMore链接时,我希望它根据单击的事件在数据库中显示内容字段。
//$T is called from a previous page which is the user_id or the password
$T = $_SESSION["ID"];
$INFO= $dbc->query("SELECT content FROM events where school_id='$T'");
$a = $INFO->fetch();
$b = $a['content'];
print_r($b);
上面的代码是我如何尝试打印出正确的内容,但只有第一个实体打印出来
以下代码是如何在我的网站上发布表格
<?php
$gold= $dbc->query("SELECT * FROM events WHERE user_id='$idcheck' ORDER BY event_dateLIMIT 10");
$x = $gold->fetchAll();
echo "<table border = '1'>";
echo "<tr>
<td> Event </td>
<td> Date of Event </td>
<td> Location </td>
<td> Event Information</td>
</tr>";
foreach ($r as $back) {
$title = $back['title'];
$eventdate = $back['class_date'];
$location = $back['location'];
echo "<tr>";
echo "<td>$title</td>";
echo "<td>$eventdate</td>";
echo "<td>$location</td>";
echo "<td>";
?>
<form action="displaycontent.php" method="post">
<input type="submit" value="Read More">
</form>
<?php
echo "</td>";
echo "</tr>";
}
echo "</table>";
?>
答案 0 :(得分:0)
fetch方法返回语句中的下一个找到的行。您必须迭代结果才能获得所有行。
像
这样的东西while ($row = $INFO->fetch()) {
$b[] = $row;
}
然后看看print_r($ b)。它应该看起来像
array(0=>array('content'=>'Some content1'),
1=>array('content'=>'Some content2'), ....)
您输出结果的方式应该有效。