0

と呼ばれるテーブルには何千ものニュースがあり、クライアントが同時にsn_newsいくつかのニュースを利用できる可能性があることを念頭に置いて、ニュース注文機能を実装する方法を考えていました。Xid

次のように、クライアントYのXニュースをパネルに表示します。

ID          Category            Title
_______     __________________  ____________________________________________
1572709     Futbol Earthquakes  Lluvia de goles en San José
1568657     Eventos Locales     Maná rayó el sol de la Bahía
1562970     Deportes Locales    SJ Earthquakes vence a RSL, es líder
1546516     Locales             La magia de la música en la niñez
1546513     Locales             80 Años de Fotografía mexicana en SFMOMA
1546511     Locales             Clases gratis de diseño solar en West Valley College
1546507     Locales             Javier Sicilia visitó   12 de abril de 2012     Locales (noticias cliente)
1546504     Locales             Celebrando el español a través de la poesía
1546502     Locales             The National Hispanic University Receives Commendation from San Jose City Council
1546498     Locales             Clases de costura en el CET
1546497     Locales             Centro del Este de San José al servicio de la comunidad
1546481     Educacion           Ayuda en español para elegir universidad
1546479     Educacion           Aumentan programas de idiomas en escuelas públicas de California
1546478     Educacion           Program uses visual arts as a better way to learn English
1546477     Educacion           Niño hispano de 4 años es pintor
1546473     Educacion           Perspectivas en el Sistema Educativo 2012

ニュースを注文する最良の方法はどれですか?

  • 新しいIDXをYに変更しますか?
  • 、という名前の新しいファイルを追加しnews_orderます。クライアントに20のニュースがある場合、フィールドの順序に従って1から20までの番号が含まれるidため、順序は常にそのフィールドで行われますか?
  • その他の方法で?

私が自分自身を説明したことを願っています、そうでなければ、私に知らせてください!

アップデート

明確にするために、それは私のアプリではなく、私はそれを構築せず、本当にf * * *アップコードであり、それを「更新」していくつかの新しい機能を追加する必要があります。アプリは比較的シンプルですが、コードとデータベース構造の一部はずっと前に実装されており、「改善」されていないため、今では結果になっています。

日付フィールドがあり、ニュースを取得するときにそのように並べ替えられます(間違いでごめんなさい)。

異なるニュースが繰り返されるidのは、アプリの動作が原因で、複雑ですが論理的です。

4

1 に答える 1

2

ID フィールドは、一意の識別子以外には使用しないでください。順序付けを含むあらゆる種類の機能に使用することは、悪い習慣です。

「sort_order」フィールドを追加することが適切な解決策です。

それでも、発行日のフィールドも持っていないのではないかと考えなければなりません. ニュースを扱っている場合は、どこかにあるはずです。発行日がある場合は、その日付で注文するのが最も適切です (おそらく "DESC" を使用)。

しかし、コメントの「nadirs」のように、なぜ異なるクライアントのエントリが重複しているのか疑問に思う必要があります。適切な解決策は、クライアント用のテーブル、ニュース用のテーブル、およびそれらを結合する中間テーブルを用意することです。しかし、それはあなたの質問の範囲外なので、そのままにしておきます。

于 2012-05-09T11:34:19.590 に答える