首页 > 解决方案 > 如何向不同的用户显示不同的 MySQL 结果?

问题描述

我有一个包含潜在客户列表的表格。我有需要通过该列表的代理。我想要的是在X代理商之间平均分配线索。例如,如果表包含 20,000 个潜在客户,而我有 10 个代理;这意味着每个代理有 2000 个潜在客户。如果我有 100 个座席,系统应该理解它代表每个座席有 200 个潜在客户等。如何向每个代理显示结果,以便他们都在表格的不同部分工作?

Agent 1 | 0 to 2000    | page 1,2
Agent 2 | 2001 to 4000 | page 3,4
Agent 3 | ... etc. 

这是我现在拥有的代码。它可以创建分页。

 $page_count = 0;
// make your LIMIT query here as shown above
// determine page number from $_GET
if(!empty($_GET['page'])) {
    $page = filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT);
    if(false == $page) {
        $page = 1;
    }
}

// set the number of items to display per page
$items_per_page = 100;

if (0 === $row_count) {  
    // maybe show some error since there is nothing in your table
} else {
   // determine page_count
   $page_count = (int)ceil($row_count / $items_per_page);
   // double check that request page is in range
   if($page > $page_count) {
        // error to user, maybe set page to 1
        $page = 1;
   }
}
// build query
$offset = ($page - 1) * $items_per_page;

 if(isset($_GET['outboundcampaign'])){
  //retrieve information from prospects
$get_blog_posts_query = $conn->prepare("select * from mk_prospects where current_website_host=? order by dateCreated desc LIMIT ?,?");
$get_blog_posts_query->bind_param("sii",$campaignid,$offset,$items_per_page);
$get_blog_posts_query->execute();
$selectprospectsqueryResult = $get_blog_posts_query->get_result();

  }

标签: phpmysql

解决方案


让我澄清一下,如果我理解正确,您希望您的系统能够根据代理编号了解每个代理应该能够看到多少条记录,他们应该在哪里看到不同的记录,例如:

代理1:1-200

代理 2:201-400

这样对吗?

如果是这样,我相信您可以遵循以下思路:

  1. 在表格中查询您有多少注册代理。
  2. 进行计数查询以检查数据库中注册的总潜在客户
  3. 除以总潜在客户数/代理人数。这是每个代理应该能够看到的记录数

但在我们继续代码的其余部分之前,我们必须了解一些事情,在你的问题中我不清楚:

  1. 您的“查看表格的差异部分”的想法是什么?第一个注册代理应该看到从1-100,第二个注册从101-200?
  2. 如果代理不再有权访问您的应用程序,代理记录将从您的数据库中删除,还是仅将字段设置为“已删除”?我问这个,因为这会改变您数据库中代理的顺序,以防我们使用1.问题中的逻辑。

您能否向我们澄清一下您打算为代理商做什么样的任命?在此之后,我们可以为您解决问题。


推荐阅读