PHP检索数据库的内容

时间:2013-04-14 00:35:37

标签: php mysql database-connection

我有一个包含几个表的数据库。我正在处理的表中有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>";
    ?>

1 个答案:

答案 0 :(得分:0)

fetch方法返回语句中的下一个找到的行。您必须迭代结果才能获得所有行。

这样的东西
while ($row = $INFO->fetch()) {
    $b[] = $row;
}

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

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

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