我使用以下代码显示sql查询的前5个结果;
<?php
$query = "SELECT location, COUNT(location) AS qty FROM ecmt_memberlist GROUP BY location ORDER BY qty DESC LIMIT 0,5";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
echo "<span class='graphValue'>x".$row['qty']."</span> " . $row['location'] . "<br />";
} ?>
这是显示我的结果字符串,如下所示:
如何减少$ row [&#39; location&#39;]以显示第一个&#34; - &#34;之前的字词。例如;
答案 0 :(得分:4)
只需使用strstr()
并在针前打印,例如
strstr($row['location'], "-", TRUE);
答案 1 :(得分:3)
虽然你可以用PHP做其他的建议,我觉得用mysql做的更好:
$query = "SELECT SUBSTRING_INDEX(location,'-',1) as location, COUNT(location) AS qty FROM ecmt_memberlist GROUP BY location ORDER BY qty DESC LIMIT 0,5";
答案 2 :(得分:1)
echo explode('-', $row['location'])[0];
OR
echo preg_replace('/\-\s.+/i', '', $row['location']);
答案 3 :(得分:1)
$str='x46 Moon 20 - Sisters of EVE Academy';
$str2=substr($str,0,strpos($str,' -'));
echo $str2;
答案 4 :(得分:0)
有几种不同的方法可以做到这一点,一种使用explode()
$location = explode("-", $row['location']);
然后使用echo $location[0];
调用“ - ”之前的所有内容,请参阅PHP Explode
或者您可以使用strstr()
$location = strstr($row['location'], '-', true);
并仅使用$location
调用它,因为将第3个参数设置为true将返回第一个第2个参数出现之前的所有内容。见PHP strstr
或者您可以使用split()
$location = split("-", $row['location']);
并使用$location[0]