-1

MYSQL に行があります。

それらは基本的に、ユーザーの入力に基づく記事と噂です。私のクエリでは、後の結果が上位にランク付けされるように作成されたテーブルが必要です。その Order By Query はどのように機能しますか?

$query = "SELECT * FROM rumours";
$query.= "ORDER BY"
$query = mysql_query($query) or die('MySQL Query Error: ' . mysql_error( $connect ));

while ($row = mysql_fetch_assoc($query)) {
     $id = $row['id'];
     $band = $row['band'];
     $title = $row['Title'];
     $description = $row['description'];
     echo "<table border='1'>";
     echo "<tr>";
     echo "<td> $title  </td>";
     echo "</tr>";
     echo "<tr>";
     echo "<td class = 'td1'> $description </td>";
     echo "</tr>";
     echo "</table>";
}
4

1 に答える 1

1

スニペットに関するいくつかのこと。

  1. 列リストを使用し、選択を避ける*
  2. mysql_関数は非推奨ですmysqli_または関数のいずれかを使用する必要がありますPDO
  3. 変数を再割り当てするのではなく、列を直接呼び出すことで時間を節約できます。
  4. 古いレコードを最初に表示するように求めている場合、その基準は何ですか? 高いほどidレコードが新しいということですか? 私は私の答えでこれを想定しました。

を使用したコードの改良版を次に示しますmysqli_

$link = mysqli_connect("localhost", "user", "pass", "db");

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$q = "SELECT id, band, Title, description FROM rumours ORDER BY id DESC";
$result = mysqli_query($link, $q);

while($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {
     echo "<table border='1'>";
     echo "<tr>";
     echo "<td>" . $row[id] . "</td>";
     echo "</tr>";
     echo "<tr>";
     echo "<td class = 'td1'>" . $row[description] . "</td>";
     echo "</tr>";
     echo "</table>";
}

mysqli_free_result($result);
于 2012-10-12T18:04:09.783 に答える