PHP不会回显最后一行的文本

时间:2011-09-04 15:10:57

标签: php mysql echo

我正在尝试在php中编写一个相对简单的twitter查询,结果如下:

来自:TravisBenjamin3或来自:AshleyElisaG或来自:tncvaan ......

此代码可以接受它不回显第二个OR,也不想在最后一行显示OR。

$counter = 0;
while($row = mysql_fetch_array($result)){
$counter++;
echo " from:";
echo $row['twitter'];
if ($counter < count($row)) {
               echo " OR";
           }
}

非常感谢一些帮助。谢谢,

3 个答案:

答案 0 :(得分:3)

<?php
$tweets = array();
while($row = mysql_fetch_array($result)) {
    $tweets[] = $row['twitter'];
}
if(count($tweets) > 0) {
    echo "from:" . implode(" OR from:", $tweets);
}
?>

答案 1 :(得分:1)

$rowCount = mysql_num_rows($result);

while($row = mysql_fetch_array($result)){
$counter++;
echo " from:";
echo $row['twitter'];
if ($counter < $rowCount) {
               echo " OR";
           }
}

答案 2 :(得分:1)

$count = mysql_num_rows($result);

for($r = 0; $r < $count; $r++)
{
   $row = mysql_fetch_array($result));
   echo " from:";
   echo $row['twitter'];
   if ($r < ($count - 1)) 
   {
           echo " OR";
   }
}

或者,更简单:

$search = "";

while($row = mysql_fetch_array($result))
{
   $search .= " from:" . $row['twitter'] . " OR";
}

// Cut the last " OR"
$search = substr($search, 0, strlen($search) - 3);
echo $search;

这实际上是Aaron W建议的implode()的穷人实现..