1

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

    $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 您的代码非常有帮助。如此接近我需要的东西。你的代码给了我这个: 在此处输入图像描述

但我需要这样的东西:

在此处输入图像描述

4

3 回答 3

1

哇。那是一些严重过时的 HTML 代码。您永远不table应该按照您的方式使用s 进行布局。现在有更好的方法来解决这些布局。

这是一个使用 CSS 进行布局的 JSFiddle。小提琴中的 HTML 是语义上的,意味着它准确地代表了您向访问者(有或没有视线)以及搜索引擎显示的数据:

http://jsfiddle.net/CgbQH/

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

此外,永远不要$_POST['term']用户输入(您的)直接粘贴到这样的查询中。你没听说小鲍比桌发生了什么事吗?http://xkcd.com/327/

编辑:我曾经column-count让列表呈现在两列中。column-count仅适用于现代浏览器,因此如果您必须支持 IE,您可以将每个设置lifloat: left; width: 50%. 但是,这将以与column-count.

于 2012-07-03T13:18:23.620 回答
0

您需要删除一些标签

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/>';
}
于 2012-07-03T12:00:22.030 回答
0

你到底希望它是什么样子?像这样?

在此处输入图像描述

那么代码将是这样的:

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>';
}
于 2012-07-03T12:04:52.333 回答