2

配列の順序を逆にしたい。

私のコード:

$result = mysql_query("SELECT * FROM notfi1 WHERE Own='" .$_GET['u']. "'");
while($row = mysql_fetch_array($result))
  {
  echo 'link:<a href=member.php?u=' .$row['UserId']. '>text</a><br>';
  }

出力:

<a href=member.php?u=name8>text</a>
<a href=member.php?u=name9>text</a>
<a href=member.php?u=name10>text</a>

そして私はそれを逆にしたい:

<a href=member.php?u=name10>text</a>
<a href=member.php?u=name9>text</a>
<a href=member.php?u=name8>text</a>
4

3 に答える 3

7

次の 2 つの解決策があります。

  1. リンクを降順に並べ替える
  2. array_reverse または rsort を使用する

解決策 1:

"SELECT * FROM notfi1 WHERE Own='" .$_GET['u']. "' ORDER BY UserId DESC"

解決策 2:

$result = mysql_query("SELECT * FROM notfi1 WHERE Own='" .$_GET['u']. "'");
while($row = mysql_fetch_array($result))
{
    $data[] = $row['UserId'];
}
rsort($data);
foreach($data as $item){
    echo 'link:<a href=member.php?u=' .$row['UserId']. '>text</a><br>';
}

2 番目の方法は、データの取得をディスプレイから分離していることを意味するため、より優れています...この方法で行う必要がありますが、MySQL サーバーでデータをソートすることを妨げません。

于 2012-10-11T15:15:12.823 に答える
4

最新のIDを最初に表示したい場合は、ユーザーIDでソートしてください

$result = mysql_query("SELECT * FROM notfi1 WHERE Own='" .$_GET['u']. "' ORDER BY UserId DESC");
while($row = mysql_fetch_array($result))
{
    echo 'link:<a href=member.php?u=' .$row['UserId']. '>text</a><br>';
}
于 2012-10-11T15:14:16.113 に答える
2

を SQLに追加しORDER BY UserId DESCて、データベースに任せます。

$result = mysql_query("SELECT * FROM notfi1 WHERE Own='" .$_GET['u']. "' ORDER BY UserID DESC");

補足:

そのコードを使用すると、誰もが悪化したり悪化したりしないことを祈ったほうがよいでしょうyoururl.com/yourpage.php?u='%20OR%201%3D1%20--。SQL インジェクション攻撃について読むことをお勧めします。

mysql_*これが変更している古いコードでない場合は、そもそも関数を使用するべきではありません。それらは非推奨です。

于 2012-10-11T15:13:52.463 に答える