1

我有一个数据库,里面有几个表。我正在处理的表中有 6 列,

school_id, title, location, content, class_date and user_id

school_id 是唯一的(范围从 1-20),并且有 4 个不同的 user_id(范围从 1-4).....我正在一个网站上工作,该网站有一个表格,显示有关用户的信息及其对应关系. 我在显示表的最后一列中有一个 ReadMore 链接,我的问题是,当我单击 ReadMore 链接时,我希望它根据单击的事件显示数据库中的内容字段。

对于登录,用户被询问他们的 user_id 作为他们的密码。

//$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>";
    ?>
4

1 回答 1

0

fetch 方法从您的语句中返回下一个找到的行。您必须遍历结果以获取所有行。

就像是

while ($row = $INFO->fetch()) {
    $b[] = $row;
}

然后看看 print_r($b)。它应该看起来像

array(0=>array('content'=>'Some content1'),
      1=>array('content'=>'Some content2'), ....)

并且您输出结果的方式应该有效。

于 2013-04-14T00:56:41.937 回答