我对编程很新,我的基本知识是我试图创建一个页面显示保存在我的数据库中的消息。 (我已经做了,所以可以放入消息)
我想出了如何在页面上显示一条消息,但这是数据库中的第一条消息。
我怎么能说它不仅显示一个,而且还显示所有消息?
到目前为止这是我的代码..
<?php
$host = "localhost";
$user = "root";
$pwd = "";
$db_name = "berichten";
mysql_connect($host, $user, $pwd)or die("cannot connect");
mysql_select_db($db_name)or die("cannot select DB");
$sql = mysql_query("SELECT * FROM messages ORDER BY id ASC");
$id = 'id';
$name = 'naam';
$email = 'email';
$onderwerp = 'onderwerp';
$bericht = 'bericht';
$rows = mysql_fetch_assoc($sql);
echo 'name: '. $rows[$name] . '</br>' . 'e-mail: '. $rows[$email] . '</br>' . 'onderwerp: ' . $rows[$onderwerp] . '</br>' . 'bericht: ' . $rows[$bericht];
答案 0 :(得分:1)
您只需要在while循环中包装mysql_fetch_assoc以迭代完整的结果集。像这样:
$sql = 'SELECT * FROM messages ORDER BY id ASC';
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)) {
echo $row["name"];
echo $row["e-mail"];
echo $row["onderwerp"];
echo $row["bericht"];
}
答案 1 :(得分:1)
更改此行:
$rows = mysql_fetch_assoc($sql);
对此:
while ($row = mysql_fetch_assoc($sql))
{
echo 'name: '. $rows[$name] . '</br>' . 'e-mail: '. $rows[$email] . '</br>' . 'onderwerp: ' . $rows[$onderwerp] . '</br>' . 'bericht: ' . $rows[$bericht];
}
但请注意,MySQL扩展名已弃用,最好使用新的MySQLi扩展程序。
您可以在此处阅读:http://php.net/manual/en/book.mysqli.php
或者,您可以使用PDO:http://php.net/manual/en/book.pdo.php
答案 2 :(得分:1)
通过这样做:
$sql = mysql_query("SELECT * FROM messages ORDER BY id ASC");
您基本上已将数据库中的所有行放入名为$sql
的变量中,该变量是行数组。由于每行都有多个项目,因此该行也可以视为数组。那么,$sql is an Array of Arrays
所以你需要迭代这个名为$ sql的小数组,如下所示:
while($each = mysql_fetch_assoc($sql)){
// $each is a cursor, and loops over all the elements of the $sql sequentially.
echo 'name: '. $each[$name] . '</br>' . 'e-mail: '. $each[$email] . '</br>'
. 'onderwerp: ' . $each[$onderwerp] . '</br>' . 'bericht: ' . $each[$bericht];
}
答案 3 :(得分:0)
您可以使用PHP文档中的mysql_fetch_array
或mysql_fetch_assoc
。在那里用例子解释。
另外,请不要使用mysql
函数,因为它们已被弃用。而是使用PDO
或mysqli
答案 4 :(得分:0)
一个简单的循环结构,用作每个php / mysql代码的基础;)
while($rows = mysql_fetch_assoc($sql)) {
echo 'name: '. $rows[$name] . '</br>' . 'e-mail: '. $rows[$email]
}