繁体   English   中英

在两行中显示搜索结果

[英]Display search results in two rows

我正在制作一个网页,并将其添加为搜索引擎。 这是结果页面中的代码。

    $term = $_POST['term'];

    $sql = mysql_query("select * from artists2 where Fname like '%$term%' or Genre like '%$term%' or Specialty like '%$term%' order by Fname");

while ($row = mysql_fetch_array($sql)){
    echo '<table width="550" border="0" cellspacing="0" cellpadding="0">';
  echo '<tr>';
  echo '<td width="550" height="200"><img src="'.$row['Bio']. '" alt="" width="150" height="200"></td>';
  echo '</tr>';
  echo '<tr>';
  echo '<td width="550" height="30">Name: '.$row['Fname'].'</td>';
  echo '</tr>';
  echo '<tr>';
  echo '<td width="550" height="30">Genre: '.$row['Genre'].'</td>';
  echo '</tr>';
  echo '<tr>';
  echo '<td width="550" height="30">Specialty: '.$row['Specialty'].'</td>';
  echo '</tr>';
  echo '<br/>';
  echo '<br/>';
  echo '<br/>';
echo '</table>';
    }
?>

我希望结果显示为两行,而不是现在显示的一行。 每个结果还有一张图片和3行文字。 我希望文字显示在图片的右侧。 不在现在显示的图片下方。

更新1

Dainis您的代码非常有帮助。 如此接近我所需要的。 您的代码给了我这个: 在此处输入图片说明

但是我需要这样的东西:

在此处输入图片说明

哇。 那是一些严重过时的HTML代码。 绝对不应使用table进行布局。 如今,有很多更好的方法可以解决这些布局问题。

这是一个使用CSS进行布局的JSFiddle。 小提琴中的HTML是语义的,它准确地表示了您正在显示给访问者的数据(有无视力)以及搜索引擎:

http://jsfiddle.net/CgbQH/

如您所见,搜索结果列表就是这样。 一个列表。 每个结果都有一个图像和一个dl (尽管有些人可能认为dl不是键/值对的正确选择)。 然后,使用CSS使标记呈现所需的方式。

此外, 永远坚持用户输入(您$_POST['term']直接进入这样的查询。 你没听说小鲍比桌子怎么了吗? http://xkcd.com/327/

编辑:我已经使用column-count使列表呈现为两列。 column-count仅在现代浏览器中有效,因此,如果必须支持IE,则可以将每个li设置为float: left; width: 50% float: left; width: 50% 但是,这将以不同于column-count顺序呈现项目。

您需要删除一些标签

while ($row = mysql_fetch_array($sql))
{
  echo '<table width="550" border="0" cellspacing="0" cellpadding="0">';
  echo '<tr>';
  echo '<td width="550" height="200" valign="top"><img src="'.$row['Bio']. '" alt="" width="150" height="200"></td>';
  echo '</tr>';
  echo '<tr>';
  echo '<td width="550" height="30" valign="top">';
  echo 'Name: '.$row['Fname'].'<br />';
  echo 'Genre: '.$row['Genre'].'<br />';
  echo 'Specialty: '.$row['Specialty'];
  echo '</td>';
  echo '</tr>';
  echo '</table>';
  echo '<br/>';
  echo '<br/>';
  echo '<br/>';
}

您希望它看起来如何? 像这样?

在此处输入图片说明

然后,代码将如下所示:

while ($row = mysql_fetch_array($sql)){
echo '<table width="550" border="0" cellspacing="0" cellpadding="0" style="width: 40%; float: left;">';
  echo '<tr>';
  echo '<td width="550" height="200" align="left" valign="top"><img src="'.$row['Bio']. '" alt="" width="150" height="200"></td>';
  echo '<td width="550" height="30" align="left" valign="top">';
  echo '<p>Name: '.$row['Fname'].'</p>';
  echo '<p>Genre: '.$row['Genre'].'</p>';
  echo '<p>Specialty: '.$row['Specialty'].'</p>';
  echo '</td>';
  echo '</tr>';
echo '</table>';
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM