代码:
<?php
$db=mysqli_connect("mysql17.000webhost.com","username","pwd","db");
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysql_connect_error();
}
$result = mysqli_query($db,"SELECT * FROM ChatBox");
Print "<div style='text-align:center;'>";
Print "<table border cellpadding=3 style='text-align:left;width:auto;left:auto;right:auto;display:inline-block;'>";
while($info = mysqli_fetch_array( $result ))
{
Print "<tr>";
Print "<th>User : </th> <td>".$info['User'] . " </td>";
Print "<th>Content : </th> <td>".$info['Content'] . " </td></tr>";
}
Print "</table></div>";
使用此代码,它将按添加内容的时间的顺序打印,我想要的是按照与内容时间相反的顺序打印加入
e.g。
添加内容之前
分贝:
User | Content
ABC | Hello1
DEF | Hello2
添加内容后
User | Content
ABC | Hello1
DEF | Hello2
GHI | Hello3
使用此代码将打印
User : ABC
Content : Hello1
User : EFG
Content : Hello2
User : GHI
Content : Hello3
以及在向sql数据库添加内容后预期打印的内容:
User : GHI
Content : Hello3
User : EFG
Content : Hello2
User : ABC
Content : Hello1
答案 0 :(得分:5)
“使用此代码,它将按照添加内容的时间顺序打印,我想要的是按照添加内容的时间相反的顺序打印它。”
您需要做的是创建一个具有日期/时间值的列,并根据该列对其进行排序;如果这就是你要问的。如果没有,请继续下面的答案。
首先,你要混合两个MySQL API
mysql_connect_error()
应该读作mysqli_connect_error()
---如果有任何错误信息,使用mysql_connect_error()
就不会给你任何错误信息。
另外,你错过了"username
中的引用(作为旁注)。
使用ORDER BY
column DESC
<?php
$db=mysqli_connect("xxx","xxx","xxx","xxx");
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($db,"SELECT * FROM ChatBox ORDER BY User DESC");
Print "<div style='text-align:center;'>";
Print "<table border cellpadding=3 style='text-align:left;width:auto;left:auto;right:auto;display:inline-block;'>";
while($info = mysqli_fetch_array( $result ))
{
Print "<tr>";
Print "<th>User : </th> <td>".$info['User'] . " </td>";
Print "<th>Content : </th> <td>".$info['Content'] . " </td></tr>";
}
Print "</table></div>";
修改强>
这是我的数据库从测试中打印出来的内容。 (按降序打印)
User : Louise Content : Sicilly User : Larry Content : Italy User : FRED Content : Planet Earth User : BOB Content : Spain
答案 1 :(得分:1)
这可以通过在SQL查询中使用ORDER BY
关键字来完成。
要将结果打印到屏幕,您可以使用echo。
为了在PHP代码中呈现HTML,如果你写这样的东西,它可能更容易阅读:
<?php
$db = mysqli_connect("mysql17.000webhost.com","username", "pwd", "db");
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($db, "SELECT * FROM ChatBox ORDER BY User DESC");
?>
<div style='text-align:center;'>
<table border cellpadding=3 style='text-align:left;width:auto;left:auto;right:auto;display:inline-block;'>
<?php while($info = mysqli_fetch_array( $result )): ?>
<tr>
<th>User : </th> <td><?php echo $info['User']; ?></td>
<th>Content : </th> <td><?php echo $info['Content']; ?></td></tr>
<?php endwhile; ?>
</table></div>
答案 2 :(得分:0)
只需使用Order by
mysqli_query($db,"SELECT * FROM ChatBox ORDER BY User,Content DESC; ");
并使用echo
打印数据
echo - 可以输出一个或多个字符串
打印 - 只能输出一个字符串,并始终返回1
echo "<div style='text-align:center;'>";
echo "<table border cellpadding=3 style='text-align:left;width:auto;left:auto;right:auto;display:inline-block;'>";
while($info = mysqli_fetch_array( $result ))
{
echo "<tr>";
echo "<th>User : </th> <td>".$info['User'] . " </td>";
echo "<th>Content : </th> <td>".$info['Content'] . " </td></tr>";
}
echo "</table></div>";