Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z zapytaniem
Forum PHP.pl > Forum > Bazy danych
maxidig
Witajcie,

Mam problem ze sformułowaniem zapytania do bazy, chcę na stronie wyświetlić w pierwszej kolejności posty wyróżnione, a nastęnie posty które tego wyróżnienia nie posiadają.
W bazie ma tabele z kolumnę z nazwią parametru 'featured' oraz kolumne z jego wartością '1' lub '0' - jedynak oznacza posty wyróżnione, a zero bez wyróżnienia. I teraz potrzebuję w jednym zapytaniu wyciągnąć w pierwszej kolejności posty z jedynką, a nastęnie z zerem.

Pomógłby ktoś rozwiązać ten problem ?

Pozdrawiam i z góry dzięuję.
Turson
SELECT [Pobranie postów gdzie featured=1] UNION SELECT [Pobranie postów gdzie featured=0]
mmmmmmm
Boże mój! Przez UNION?questionmark.gif? Nigdy w życiu.
ORDER BY featured DESC, reszta order
maxidig
ORDER BY mam ustawiony na datę, żeby została zachowana kolejność od najnowszych do najstarszych.
A dlaczego nie można użyć UNION tak jak zaproponował "Turson"?
Turson
mmmmmmm ma rację, UNION nie ma sensu skoro można po prostu posortować
maxidig
A może ktoś będzie wiedział jak dodać stronnicowanie do tej pętli, którą daje poniżej?
Jest to rozwiązanie z wordpressa, które co prawda wyświetla to co powinno ale znów jest problem ze stronnicowaniem.

  1. <?php
  2.  
  3. // The Query
  4. $query1 = new WP_Query( $args );
  5.  
  6. // The Loop
  7. while ( $query1->have_posts() ) {
  8. $query1->the_post();
  9. echo '<li>' . get_the_title() . '</li>';
  10. }
  11.  
  12. /* Restore original Post Data
  13.  * NB: Because we are using new WP_Query we aren't stomping on the
  14.  * original $wp_query and it does not need to be reset with
  15.  * wp_reset_query(). We just need to set the post data back up with
  16.  * wp_reset_postdata().
  17.  */
  18. wp_reset_postdata();
  19.  
  20.  
  21. /* The 2nd Query (without global var) */
  22. $query2 = new WP_Query( $args2 );
  23.  
  24. // The 2nd Loop
  25. while ( $query2->have_posts() ) {
  26. $query2->next_post();
  27. echo '<li>' . get_the_title( $query2->post->ID ) . '</li>';
  28. }
  29.  
  30. // Restore original Post Data
  31. wp_reset_postdata();
  32.  
  33. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.