在php中,只显示长度大于50个字符的字符串的功能是什么,将其截断为不显示超过130个字符并将其限制为一个结果?
所以例如说我在结果集中有30行,但我只想显示具有这些参数的最新行。如果最新的行有25个字符,则不应显示。它应该只显示字符串长度为50或更多字符的最新字符。
答案 0 :(得分:1)
使用SQL查询。用于在auto_increment主键(ill call it id)或创建行的日期/时间(例如,time time_created)中找到最新的最大值。
所以我假设表有:id(int),stringVal(string,char(),varchar(),等等)
SELECT MAX(id), SUBSTRING(stringVal, 1, 130)
FROM yourTable
WHERE LENGTH(stringVal) > 30
如果必须,用时间字段替换id。如果没有其中任何一个,你将很难找到最新的,但你可以随意选择一行。
- 编辑 - 在PHP中使用mysql函数运行上述查询并获取所需输出的示例
$sql = "SELECT MAX(id), SUBSTRING(stringVal, 1, 130) FROM yourTable WHERE LENGTH(stringVal) > 30";
$r = mysql_query($sql, $conn); //im hoping $conn or something like it is already set up
$row = mysql_fetch_assoc($r);
$desiredString = $row['stringVal'];
答案 1 :(得分:0)
这样的事情应该确保您首先通过最新项目获取数据排序。 break语句将确保在找到符合条件的第一个结果后终止循环...
foreach($array_returned_from_query as $row)
{
if(strlen($row) > 50)
{
echo substr($row, 0, 130);
break;
}
}