提问者:小点点

仅输出PHP数组的1行作为超链接


我正在输出MySQL查询的结果,该查询包含有关用户和所选主题的信息。 其中一行包含电子邮件地址。 我希望php只将此行作为超链接输出,而将其余部分作为文本保留。 我该怎么做?

$resultSet = $db->query ("...my query");  
echo $resultSet -> num_rows;
While($rows = $resultSet ->fetch_assoc())
{
   $subject [1] = $rows['First_Name'];
   $subject [2] = $rows['Surname'];
   $subject [3] = $rows['Email_Address'];
   $subject [4] = $rows['Subject1'];
   $subject [5] = $rows['Subject2'];
   $subject [6] = $rows['Subject2'];

  $subjectOutput = array_filter($subject, 'strlen'); 

  $subjectString = implode($subjectOutput, '<br/>'); 

  $output .= "<p> ". $subjectString."  </p>";

}


共2个答案

匿名用户

检查email_address是否为空,如果不为空,则将其包装在标记中:

$subject [3] = $rows['Email_Address'] 
    ? ('<a href="#">' . $rows['Email_Address'] . '</a>') 
    : '';

匿名用户

试试这个

$resultSet = $db->query ("...my query");  
echo $resultSet -> num_rows;
While($rows = $resultSet ->fetch_assoc())
{
   $subject [1] = $rows['First_Name'];
   $subject [2] = $rows['Surname'];
   $subject [3] = "<a href='mailto:" . $rows['Email_Address'] . ">" . $rows['Email_Address'] . "</a>";
   $subject [4] = $rows['Subject1'];
   $subject [5] = $rows['Subject2'];
   $subject [6] = $rows['Subject2'];

  $subjectOutput = array_filter($subject, 'strlen'); 

  $subjectString = implode($subjectOutput, '<br/>'); 

  $output .= "<p> ". $subjectString."  </p>";
}