2014-06-26 72 views
1

每当我调用一个php脚本时,是否可以从mysql数据库中选择一个新行?例如,我需要每次调用以下php脚本时从mysql数据库中获取一个新的电子邮件地址。我知道mysqls的ORDER BY RAND()函数;在这里我需要根据他们的入境日期(即ORDER BY created_on DESC)提取每一行。为特殊情况选择mysql行

// Add recepients from a datasoutce iteratively 
$emails = mysql_query('SELECT email from recepients ORDER BY created_on DESC LIMIT 1') or die; 
while($row = mysql_fetch_assoc($emails)) 
{ 
    message->addTo($row['email']); 
} 

编辑:我会用cron作业(计划任务在Windows中)来运行我的PHP脚本,我需要一个解决方案来选择行一个一个(非随机)作为我的PHP之称。

+0

你问如何当一个新的电子邮件是运行这个PHP脚本进入?问题不是很明确 –

+1

为什么不可以添加一个字段来维护记录是否被访问? –

+0

你的代码没有多大意义。它获取所有行。不只是你的描述所说的一行。 – nightgaunt

回答

1

添加列的表,如果你被允许:

alter table recepients add column uts_sent BIGINT NOT NULL; 

更新表发送电子邮件后:

$limit= 1; //fetch $limit rows per page 

$now = mktime(); //current unix time stamp 

// Add recepients from a datasource iteratively 
$emails = mysql_query("SELECT email from recepients WHERE uts_sent<$now ORDER BY created_on DESC LIMIT $limit") or die; 
while($row = mysql_fetch_assoc($emails)) 
{ 
    $message->addTo($row['email']); 
    $message->send(); 
    $email_escaped = mysql_real_escape_string($row['email']); 
    mysql_query("update recepients set uts_sent = $now where email ='$email_escaped'") or die; 
} 
+1

我用户没有要求添加偏移量 –

+0

事实上,他没有具体说明他需要的东西究竟是如何工作的。如果他想要做的是基本上页面大小为“$ limit”= 1的分页,那么当他以某种方式链接到他正在输出的HTML页面上的下一页时,他需要将偏移量传递给脚本, ''或者''。 – Adder

+0

重做了,谢谢Rajavel。 – Adder