【问题标题】:Limit MySQL search output to 10将 MySQL 搜索输出限制为 10
【发布时间】:2014-05-28 14:58:31
【问题描述】:

我正在尝试创建一个社交网络。在个人资料详细信息中,我想显示该个人资料用户的至少 10 个朋友。我用过:

$connect = mysqli_connect("...","...","...","dbname"); //NOT REALLY IMPORTANT
$find = "SELECT * FROM friendslist WHERE user1 = '$myusername'";
$exec = mysqli_query($connect,$find);

while($row=mysqli_fetch_assoc($exec)) {
$friendusername = $row['user2'];

$con2 = "SELECT * FROM users WHERE username = '$friendusername' ";
$exec2 = mysqli_query($con,$con2);
$row2 = myslqi_fetch_assoc($exec2);

echo $row2['firstname']."<br/>";

我的桌子:

FOR friends:
id, user1, user2

FOR users
id, username, firstname

它会显示我所有的朋友,如果我有 20 个朋友,它会显示所有 20 个。如何将其限制为仅显示 10 个?

【问题讨论】:

  • 这是基本的 SQL - LIMIT。你为什么不谷歌它?
  • @pc-shooter 而你却回答了......由于你的匆忙而打错了:p
  • 它只是显示 LIMIT to search。我会将 LIMIT 放在哪里进行输出?
  • @NiettheDarkAbsol 我删除了它。没看到……每个人有时都会犯错。重要的是纠正它们不是吗?
  • @RunCode common...google.ch/…

标签: php html navigation


【解决方案1】:

试试:

$find = "SELECT * FROM friendslist WHERE user1 = '$myusername' LIMIT 0, 10";

【讨论】:

  • LIMT... 不错的错字:p
【解决方案2】:

加入查询并限制为 10 个。

"SELECT * FROM friendslist LEFT JOIN users ON friendslist.user2=users.username WHERE user1 = '$myusername' LIMIT 10"

【讨论】:

    【解决方案3】:

    就像@Danijel 的回答一样,加入表格是一个不错的选择。

    首先加入表,使用 f.user1 = '$myusername' 获取好友列表,然后将其限制为 10 个。

    PD:不要在循环中进行查询,这对性能不利

    $find = "SELECT * 
             FROM friendslist  f, users u
             WHERE     f.user2 = u.username 
                   AND f.user1 = '$myusername' 
             LIMIT 10";
    
            $exec = mysqli_query($connect,$find);
    
            while($row=mysqli_fetch_assoc($exec)) {
    
                  echo $row2['firstname']."<br/>";
            }
    

    【讨论】:

    • 谢谢哥们。它将限制“查找”命令仅显示 1 个用户。我需要的是如何限制while(....) 代码,在它显示10 之后,它将停止显示更多用户。谢谢!你能帮我解决这个问题吗?
    • 我的回答对你有帮助吗?
    猜你喜欢
    • 1970-01-01
    • 2013-01-02
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    • 1970-01-01
    相关资源
    最近更新 更多