Php 以两行显示搜索结果

Php 以两行显示搜索结果,php,mysql,row,Php,Mysql,Row,我正在制作一个网页,并将其添加到搜索引擎中。下面是结果页面中的代码 $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)){

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

    $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>';
    }
?>
$term=$\u POST['term'];
$sql=mysql_query(“从artists2中选择*,其中Fname(如“%$term%”)或流派(如“%$term%”)或专业(如“%$term%”)按Fname排序”);
while($row=mysql\u fetch\u数组($sql)){
回声';
回声';
回声';
回声';
回声';
echo“Name:”.$row['Fname'].';
回声';
回声';
回声“流派:”.$row[“流派”]。”;
回声';
回声';
echo“Speciality:”.$row[“Speciality”]。”;
回声';
回声“
”; 回声“
”; 回声“
”; 回声'; } ?>
我希望结果显示在两行中,而不是现在显示的一行。 此外,每个结果都有一张图片和3行文本。我希望文本显示在图片的右侧。不在现在显示的图片下方

更新1

你的代码非常有用。如此接近我所需要的。 你的代码告诉我:

但我需要这样的东西:


您需要删除一些标签

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\u fetch\u数组($sql))
{
回声';
回声';
回声';
回声';
回声';
回声';
回显“名称:”.$row['Fname']。
; 回音“流派:”.$row[“流派”]。
; echo“Speciality:”.$row[“Speciality”]; 回声'; 回声'; 回声'; 回声“
”; 回声“
”; 回声“
”; }
您需要删除一些标签

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\u fetch\u数组($sql))
{
回声';
回声';
回声';
回声';
回声';
回声';
回显“名称:”.$row['Fname']。
; 回音“流派:”.$row[“流派”]。
; echo“Speciality:”.$row[“Speciality”]; 回声'; 回声'; 回声'; 回声“
”; 回声“
”; 回声“
”; }
您希望它看起来怎么样?像这样

那么代码应该是这样的:

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>';
}
while($row=mysql\u fetch\u数组($sql)){
回声';
回声';
回声';
回声';
回显“Name:”.$row['Fname']”。

”; 回音“流派:”.$row[“流派”]。

”; 回显“专业:”.$row[“专业”]。

”; 回声'; 回声'; 回声'; }
您希望它看起来怎么样?像这样

那么代码应该是这样的:

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>';
}
while($row=mysql\u fetch\u数组($sql)){
回声';
回声';
回声';
回声';
回显“Name:”.$row['Fname']”。

”; 回音“流派:”.$row[“流派”]。

”; 回显“专业:”.$row[“专业”]。

”; 回声'; 回声'; 回声'; }
哇。这是一些严重过时的HTML代码。您不应该使用
表格
s进行布局。现在有很多更好的方法来解决这样的布局

下面是一个JSFIDLE,它使用CSS进行布局。fiddle中的HTML具有语义含义,它准确地表示您向访问者(无论是否可见)以及搜索引擎显示的数据:

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

此外,永远不要将用户输入(您的
$\u POST['term']
)直接粘贴到这样的查询中。你没听说小波比桌子怎么了吗

编辑:我使用了
列计数
使列表呈现为两列<代码>列计数仅适用于现代浏览器,因此如果您必须支持IE,则可以将每个
li
设置为
浮点:左;宽度:50%
。但是,这将以与列计数不同的顺序呈现项目。这是一些严重过时的HTML代码。您不应该使用
表格
s进行布局。现在有很多更好的方法来解决这样的布局

下面是一个JSFIDLE,它使用CSS进行布局。fiddle中的HTML具有语义含义,它准确地表示您向访问者(无论是否可见)以及搜索引擎显示的数据:

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

此外,永远不要将用户输入(您的
$\u POST['term']
)直接粘贴到这样的查询中。你没听说小波比桌子怎么了吗


编辑:我使用了
列计数
使列表呈现为两列<代码>列计数仅适用于现代浏览器,因此如果您必须支持IE,则可以将每个
li
设置为
浮点:左;宽度:50%
。但是,这将以不同于
列计数的顺序呈现项目。您希望图片和文本位于其右侧,这意味着只有一行。此外,如果您希望多行对齐,请将表标记移到while循环之外,以便它们都保留在一个表中。感谢您的回复,但它显示的是相同的…:/您希望在其右侧显示图片和文本,这意味着只有一行。另外,如果您希望多行对齐,请将表格标记移到while循环之外,使它们都保留在一个表格中。感谢您的回复,但它显示的是相同的…:/在这种情况下,将表echo放入循环中,并将style=“width:40%;float:left;”添加到表:echo“”;好极了!!!:德桑克斯!但在流派和专业之间仍有很大的差距。此外,当名称较大时,结果不对齐,一些GO向右,一些GO向左。在这里,这可能更好。现在如何格式化基本上取决于您。给它添加一些css,让它发光。啊。。。还有别的事。。。我怎样才能使“名称”成为一个链接,当我点击它时,用m将我重定向到另一个页面