【问题标题】:Truncate text and add ellipses PHP SQL截断文本并添加省略号 PHP SQL
【发布时间】:2016-09-01 16:17:46
【问题描述】:

我只是想在 150 个字符后剪切我的字符串并在末尾添加“...”。我已经通过“case when”和“left”在这里找到了一些解决我的问题的解决方案,但是即使我尝试了解决方案中的相同代码,它也会一直响应错误的语法或只给我一个“0”。我正在使用 PDO 和 PHP。

这是我的代码:

$feedbackquery = "SELECT CASE WHEN length(text) >= 150 THEN left(text, 150) + '...' ELSE 
text END text FROM feedback ORDER BY RAND () LIMIT 1";

$database->query($feedbackquery);
$feedbackinput = $database->fetch();

非常感谢您的帮助:)

【问题讨论】:

标签: php mysql pdo truncate


【解决方案1】:

MySQL 不使用+ 连接字符串。有一个内置的CONCAT函数:

SELECT
    CASE WHEN length(text) >= 150 THEN
        CONCAT(LEFT(text, 150), '...')
    ELSE 
        text
    END text
FROM feedback
ORDER BY RAND ()
LIMIT 1

【讨论】:

  • 非常感谢先生!像魅力一样工作。