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>';
    }
?>

現在表示されている 1 行ではなく、2 行で結果を表示したいと考えています。また、各結果には画像と 3 行のテキストがあります。画像の右側にテキストを表示したい。現在示されているように、写真の下ではありません。

更新 1

Dainis さんのコードはとても役に立ちました。私が必要とするものにとても近い。あなたのコードは私にこれを与えます: ここに画像の説明を入力

しかし、私は次のようなものが必要です:

ここに画像の説明を入力

4

3 に答える 3

1

わお。これは、非常に古い HTML コードです。あなたがやっているようにレイアウトに s を使うべきではありません。最近では、このようなレイアウトを解決するためのはるかに優れたtable方法があります。

レイアウトに CSS を使用する JSFiddle を次に示します。フィドルの HTML はセマンティックであり、訪問者 (視力の有無にかかわらず) と検索エンジンに表示しているデータを正確に表しています。

http://jsfiddle.net/CgbQH/

ご覧のとおり、検索結果のリストはまさにそれです。リスト。各結果には画像と a があります(ただし、キーと値のペアの正しい選択ではないdlと主張する人もいます)。dl次に、CSS を使用して、マークアップを希望どおりにレンダリングします。

また、ユーザー入力 (あなたの) をそのようなクエリ$_POST['term']に直接入れないでください。小さなボビー・テーブルに何が起こったのか聞いたことがありませんか? http://xkcd.com/327/

編集:column-countリストを2列でレンダリングするために使用しました。column-countは最新のブラウザでのみ機能するため、IEをサポートする必要がliある場合は、代わりにそれぞれをに設定できますfloat: 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 に答える