1

このようなSQLクエリでこのテーブルを作成しました

$result = mysql_query("SELECT * FROM 5050goosedown");

echo "<table border='0' width='975'>
<tr>
<th width='12.5%'>name:</th>
<th width='12.5%'>width:</th>
<th width='12.5%'>height:</th>
<th width='12.5%'>fill:</th>
<th width='12.5%'>our fill:</th>
<th width='12.5%'>old price:</th>
<th width='12.5%'>price:</th>
</tr>";

$i = 1;
while($row = mysql_fetch_array($result)){
    echo "<tr bgcolor='#F5F5F5'>";
  if($i%2 == 0){
      echo "<tr bgcolor='#E5E5E5'>";
  }
  $i++;

  echo "<td>" . $row['name'] . "</td>";
  echo "<td>" . $row['width'] . "</td>";
  echo "<td>" . $row['height'] . "</td>";
  echo "<td>" . $row['normal_fill'] . "</td>";
  echo "<td>" . $row['our_fill'] . "</td>";
  echo "<td>" . $row['old_price'] . "</td>";
  echo "<td>" . $row['price'] . "</td>";
  echo '<td bgcolor=#FFFFFF><form method="post" action=""><input type="hidden" name="goosedown_id" value="'.$row['goosedown_id'].'" /><input type="submit" name="sumbit" value="Delete" /></form></td>';
  echo "</tr>";
  }
echo "</table>";

?>

現時点ではアルファベット順に表示されているため、テーブル内のアイテムを特定の順序で表示するための最良の方法は何だろうと思っていました。ただし、シングル、スーパーシングル、クイーン、キング、スーパーキング…のようにサイズの順に表示したいです。</ p >

これを試みる方法がわかりません。データベースに別のエントリが必要だと思いますか?

これがテーブルの外観です。ご覧のとおり、ユーザーが独自の値を入力できるセクションがあります。

ここに画像の説明を入力

mysql

CREATE TABLE `5050goosedown` (
    `goosedown_id` int(11) unsigned NOT NULL auto_increment,
    `name` varchar(100) NOT NULL default '',  
    `width` int(8),
    `height` int(8),
    `normal_fill` int(8),
    `our_fill` int(8),
    `old_price` DECIMAL(3,2),
    `price` DECIMAL(3,2), 
    PRIMARY KEY  (`goosedown_id`)
    ) TYPE=MyISAM;
4

1 に答える 1

3

ただし、シングル、スーパーシングル、クイーン、キング、スーパーキング…のようにサイズ順に表示したいのですが…</p>

次に、これを試してください:

ORDER BY
  CASE Size
    WHEN 'sigle' THEN 0 
    WHEN 'super' THEN 1
    WHEN 'single' THEN 2
    WHEN 'queen' THEN 3
    ...
  END , Name
于 2012-10-03T07:50:20.773 に答える