2010-09-05 100 views
0

我有一个工作分页脚本,它显示的问题很少。PHP脚本中的ifelse问题

但是,我遇到的问题是试图让我的数据用引号括起来,如果它不为空。

这是我的分页脚本的一部分:

//This function shows the data 
public function display() 
{ 
    if(date('Y-m-d') == date('Y-m-d', $this->airdate)) $dateFormat = 'g:ia'; 
    elseif(date('Y') == date('Y', $this->airdate)) $dateFormat = 'F jS - g:ia'; 
    else $dateFormat = 'F jS, Y - g:ia'; 

    echo '<tr>'."\n". 
     ' <td><strong>'.$this->program.'</strong></td>'."\n". 
     ' <td>showing on '.$this->channel.'</td>'."\n". 
     ' <td>'.date($dateFormat, $this->airdate).'</td>'."\n". 
     ' <td><b>'.$this->episode.'</b></td>'. "\n". 
     ' <td>'.$this->setReminder.'</td>'."\n". 
     '</tr>'."\n"; 
} 

然而,它是$这个 - >插曲。我遇到麻烦的部分。

数据正确呈现:

Episode Name 
<null> 
Episode Name 2 

,但我想它是这样的:

"Episode Name" 
<null> 
"Episode Name 2" 

我想:

 echo '<tr>'."\n". 
     ' <td><strong>'.$this->program.'</strong></td>'."\n". 
     ' <td>showing on '.$this->channel.'</td>'."\n". 
     ' <td>'.date($dateFormat, $this->airdate).'</td>'."\n". 
     ' <td><b>"'.$this->episode.'"</b></td>'. "\n". 
     ' <td>'.$this->setReminder.'</td>'."\n". 
     '</tr>'."\n"; 
} 

但格式来如:

"Episode Name" 
"<null>" 
"Episode Name 2" 

这不是我期望的投票率。

我不知道什么是正确的解决方案 - 是否是最好的,如果是的话,你会推荐什么样的代码来解决这个问题?

回答

1

您可以通过函数传递值,该函数会在必要时添加引号。

function encloseNullWithQuotes($a) 
{ 
    if ($a == "<null>") 
     return $a; 
    return '"'.$a.'"'; 
} 

然后,在你的代码改变$this->episodeencloseNullWithQuotes($this->episode)

不完全确定该集是否是文字字符串<null>或者不是......如果不是,您可以在函数中对NULL或类似的东西进行测试。前回声

+0

代表屏幕上的一个空的空间,希望澄清它。 – whitstone86 2010-09-06 08:09:58

+0

它工作,谢谢! – whitstone86 2010-09-06 10:59:14

+0

太好了。如果您可以将答案标记为已接受,我将不胜感激:) – 2010-09-06 12:32:12

0

$this->episode = ($this->episode == '<null>')? $this->episode : '"' . $this->episode . '"'; 

然后在回声做

' <td><b>'.$this->episode.'</b></td>'. "\n".