【问题标题】:Getting more than one mysql result on a page在一个页面上获得多个 mysql 结果
【发布时间】:2014-02-08 07:19:21
【问题描述】:

你好,所以我在这里遇到了一些麻烦,我想做的是使用下面的代码在同一页面上显示所有用户的好友请求,但发生的情况是页面只显示一个请求时间然后必须刷新或重新加载页面以使剩余的请求一一显示,而不是从页面下方列出的所有请求中,任何帮助都会很棒,因为我正在努力学习谢谢

<?php
include ('views/header.php');
require_once ('config/config.php');
include ('config/connection.php');


{

    global $user_name,$page_owner,$username;

    $user_name = trim(strip_tags($_SESSION["user_name"])); //This is the user who logged into the system or logged in session

    $page_owner = trim(strip_tags($_SESSION["user_name"])); // This is the owner of the page viewed
            $username = mysql_query("select * from request where friend ='".$user_name."'");
    $user_id = mysql_query("select user_id from users where user_id = 'user_id'");


    //This is the page that checks for Friend Request


 $check_request = mysql_query("select * from request where friend = '".$user_name."'"); //First Request receive, first to respond to


                    if(intval(mysql_num_rows($check_request))==0); //If there is a friend request for the logged in user then show it to the user otherwise do nothing




                            $get_request_details = mysql_fetch_array($check_request);


                            //Check friend who sent the request full info from the users table

                            $check_request_info = mysql_query("select * from `users` where `user_name` = '".mysql_real_escape_string($get_request_details["username"])."'");

                            //Get friend who sent the request full info from the users table

                            $get_request_info = mysql_fetch_array($check_request_info);


                            //Check logged in user full info from the users table

                            $check_logged_in_user_info = mysql_query("select * from `users` where `user_name` = '".$_SESSION['user_name']."'");

                            //Get logged in user full info from the users table

                            $get_logged_in_user_info = mysql_fetch_array($check_logged_in_user_info);

?>


new requests(<?php echo intval(mysql_num_rows($check_request)); ?>)







                           <div>Hello <?php echo strip_tags($get_logged_in_user_info["user_name"]);?><div>

                            <div style="font-family:Verdana, Geneva, sans-serif; font-size:11px; line-height:18px;" align="left">Here are your friend requests.</div>

                            <a href="userpro.php?id=<?php echo $get_request_info["user_id"]; ?>"><font style="color:blue;font-family:Verdana, Geneva, sans-serif; font-size:14px;"><?php echo strip_tags($get_request_info["user_name"]); ?> wants to be friends</font></a><div>


                            <div>



<div>

<a href="af.php?username=<?php echo  $get_request_info["user_name"];
?>"class="square">Accept</a>


                            <a href="df.php?username=<?php echo $get_request_info["user_name"]; ?>"class="square">Decline</a>


 <?php




                    }













    {

            //Unknown page realized

    }



?>

【问题讨论】:

  • 你的格式读起来实在是太可怕了。你能解决这个问题吗?
  • 您需要循环调用mysql_fetch_array()

标签: php mysql list


【解决方案1】:

这是因为你只打印了一个。您永远不会遍历包含所有好友请求的数组 - 您会回显数组中的第一个请求。如果您拒绝或接受那个,它会显示下一个,依此类推。

Populate PHP Array from While Loop

【讨论】:

    【解决方案2】:

    函数 mysql_fetch_array() 一次只获取一个结果行。您想像这样将其包装在一个while循环中:

    while ($get_request_details = mysql_fetch_array($check_request))
    {
      // do repetitive processing 
    }
    

    【讨论】:

      【解决方案3】:
      $user_name = mysql_real_escape_string($user_name);
      $query ="SELECT user_id FROM users JOIN request ON users.user_id = request.user_id WHERE users.user_id = {$user_name}";
      $request = mysql_query($query);
      while ( $row = mysql_fetch_assoc($request)){
          $results[] = $row;
      }
      //debug
      echo '<pre>';
      print_r($results);
      

      在你的 SQL 中使用 LIMIT 是一个好习惯

      【讨论】:

        猜你喜欢
        • 2014-10-28
        • 1970-01-01
        • 1970-01-01
        • 2013-07-29
        • 1970-01-01
        • 1970-01-01
        • 2012-09-16
        • 1970-01-01
        • 2012-06-27
        相关资源
        最近更新 更多