0

私が走るとき

SELECT * FROM `content` where article_id=123

結果が出ます

<p>{sometag}some things{/sometag}</p>
<p>some content</p>
<p>some more content</p>

取得するには、その結果を変更する必要があります。

<p>some content</p>
<p>some more content</p>
<p>{sometag}some things{/sometag}</p>

注: 最初の段落は末尾に移動されます。

でそれをしなければなりませんがphpMyAdmin、PHP も使用できます。PHPでは、データベースに接続し、コンテンツをロードおよび更新する方法は知っていますが、段落を切り替える方法はわかりませんか? その上で助けが必要です。

4

1 に答える 1

0

あなたは実際に質問を書いたり、情報を提供したりしていないので、ここで多くの仮定をすることを余儀なくされています.

「列のコンテンツ」と言うので、これら 3 つの HTML 段落タグがデータベースのどこかに格納されていて、それらが返される順序を変更したいと仮定します。

必要な順序はアルファベット順ではないため、保存された値で並べることはできません。たとえば、「manual_order」という名前の列を作成してから、次のような新しい列と順序を作成する必要があります。

SELECT * FROM table
ORDER BY manual_order

編集

投稿を更新すると、何をしようとしているのかが明確になります。「あなた」が自分の意図を理解していると、常に簡単になりますが、他の人には常に明確であるとは限りません!

ORDER BY 句を指定しない限り、MySQL から返される結果の順序は信頼できません。

SELECT * FROM table

そのテーブルに DELETE / UPDATE または REPLACE がない場合は、挿入順に返されます。

INNODB テーブルで SELECT * FROM テーブルを実行している場合、それらは INSERT 順ではなく PRIMARY KEY 順で返されます。

順序を変更する場合は、ORDER BY 句を指定する必要があります。数値用語で意味をなさない順序が必要な場合は、提案されているように、順序を指定して ORDER BY 句で使用できる別の列を作成することをお勧めします。

INNODB を使用していて、照会されたものを逆にしたい場合は、次のように使用できます。

SELECT * FROM table
ORDER BY primarykey DESC
于 2013-03-06T14:52:32.173 に答える