php - PHP根据列条件处理MySQL查询

标签 php mysql unicode

我有一个脚本,它向所有成员发送短信。首先,当我发送 SMS 时,我存储在 MySQL 数据库中,然后从不同的脚本中获取相同的信息并分批发送到我的 SMS 网关提供商。

Schedule sms 表格有以下列。

`id, to, senderid, message, unicode, status`

Unicode 有 3 个值 1,2,3

1 = english
2 = unicode
3 = flash

然后我在 PHP 中运行这样的查询

 $sql = "SELECT `to`, `senderid`, `message` FROM `sch_sms` WHERE `status`='0' AND `unicode` = '1' LIMIT 1000

然后我创建 for 循环 并使用 cron 发送短信。

目前,我可能必须将上述 sql 查询编写 3 次并以不同的方式运行 3 次才能根据 unicode 条件发送短信。

我想知道的是,是否可以对所有 3 个不同的 unicode 值和单个 for 循环 进行一次查询,然后处理我的 php 短信功能。

如有任何建议,我们将不胜感激。

最佳答案

使用IN查看代码是否在列中:

SELECT `to`, `senderid`, `message`, `unicode` 
FROM `sch_sms` 
WHERE `status`='0' 
AND `unicode` IN('1','2','3') 
LIMIT 1000

如果这些是该列中仅有的三个值,您可以完全放弃该条件:

SELECT `to`, `senderid`, `message`, `unicode`
FROM `sch_sms` 
WHERE `status`='0' 
LIMIT 1000

完成上述操作后,您可以设置一个 while 循环,您可以在其中使用 switch 语句来确定应如何发送消息(伪代码)-

while($row = <appropriate database function here>) {

    switch ($row['unicode']) {
    case 1:
        // code for this send type
    break;
    case 2:
        // code for this send type        
    break;
    case 3:
        // code for this send type        
    break;
}

关于php - PHP根据列条件处理MySQL查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31454294/

相关文章:

PHP 从 SVG 文件中获取 svg 标签,并在 DIV 中以 HTML 显示

php 文件不会列出数据库表中的行

unicode - UTF-8、UTF-16 和 UTF-32

python - Django/Dajaxice 和国际字符的问题

php - 多行之间的MySQL比较

PHP 扩展 - 使用 PHP 发布编译的段错误

javascript - Laravel 搜索时获取关系数据

mysql - Groovy 性能

mysql - 如何使用vb.net向Mysql数据库托管插入数据

java - 如何使用 InCombiningDiariticMarks 忽略一种情况