php - 如何调整脚本以首先选择未调用的线索

标签 php mysql

我有非常基本的 PHP 知识,并已获得此系统进行修改。

销售人员可以调用有意向客户的 table 。目前它从表的开头开始,并像在 Mysql 中一样正常工作。

我希望它先调用所有新记录,然后再调用旧记录。

我尝试过使用 ORDER BY lead_id DESC 但似乎不起作用,也尝试过使用 lead_callcount ASC 但同样不起作用。

我一直在研究 CASE 选项,但对自己的使用还不够了解。

目前的代码是

public static function getNextLead(){

    $lead_res = Database::get()->data->query("SELECT `lead_id` FROM `" . DATABASE_TBL_LEADS . "` WHERE (`lead_disposition` IS NULL OR `lead_disposition` = 1) AND (`lead_timeout` IS NULL OR `lead_timeout` < NOW()) AND (`lead_locked` = '0000-00-00 00:00:00' OR `lead_locked` IS NULL) AND `lead_active` = '1' LIMIT 1");
    $lead_num = $lead_res->numRows();

    if($lead_num == 1){

        $lead_get = $lead_res->fetchRow(MDB2_FETCHMODE_ASSOC);

        $lead_id = $lead_get['lead_id'];

下面还有更多代码,

预先感谢您的帮助。

最佳答案

不知道您正在使用的数据库表中的可用列;很难确定。我会建议你:

  1. 如果您还没有表 SCHEMA,请获取它
  2. 查看是否有添加潜在客户日期的列
  3. 如果是这样;按该列排序

因为我们有要查看的表架构: ORDER BY 可以按 ASC 或 DESC 对结果集进行排序;默认值是 ASC(从最低点开始,然后从那里开始)。

大概 ASC 顺序应该适用于您的调用计数;但也许你可以添加 lead_timeout 如果这是一个相关的值 - 是自上次通话以来的时间吗?

如果是这样的话,这样的事情可能会有所帮助:

ORDER BY `lead_callcount` ASC,
         `lead_timeout` ASC

如果超时时间更长(而不是更短)更好,您可以选择将 lead_timeout 更改为 DESC

我在我的本地数据库中创建了一个测试表并尝试了您提供的查询,其中包含一个从 lead_callcount 键入的 ORDER BY,它似乎工作正常。

用于检查基本语法和查询结构等内容;你上面的查询看起来像这样添加了 ORDER BY:

SELECT lead_id, lead_callcount, lead_timeout FROM `leads` 
WHERE (`lead_disposition` IS NULL OR `lead_disposition` = 1) 
  AND (`lead_timeout` IS NULL OR `lead_timeout` < NOW()) 
  AND (`lead_locked` = '0000-00-00 00:00:00' OR `lead_locked` IS NULL) 
  AND `lead_active` = '1'
ORDER BY `lead_callcount` ASC
        #,`lead_timeout` ASC #optional sort by lead_timeout

关于php - 如何调整脚本以首先选择未调用的线索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15569362/

相关文章:

php - 从使用 php 构建的 Web 服务中获取空响应

php - 这对于用户登录和验证是否足够安全? (PHP、MySQL、 session )

php - MYSQL - 返回行数组的 INNER JOIN

php - 使用 Internet Explorer 时 MySQL 查询有时会失败

php - MYSQL数据库的问题,没有插入值

php - 如何使用 php 获取 mysql 数据库中的表和行的列表? (这里是菜鸟)

php - 带有包含未转义通配符 '%'(百分比)或 '_'(下划线)的转义字符串的 mysql LIKE 语句是否易受攻击?

php - iOS APN Php 无法连接

php - 如何在lighttpd 中执行mysqldump?使用 PHP

php - 在 Codeigniter 中将 http 重定向到 https