Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem z operatorem logicznym OR
JinLisek
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 1.08.2011
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Witam. Jestem nowym użytkownikiem na tym forum. Tworzę nową stronę internetową i mam związany z tym problem. Chcę wyciągnąć z bazy danych, z różnych tabel informacje, jednak chcę to zrobić "jednocześnie". Tzn dokładnie chodzi mi o to, że chcę wyciągnąć informacje o obrazkach i filmikach, a później wyświetlić je, tak, żeby były pomieszane i posortowane (według daty dodania).

Wpadłem na pomysł, żeby użyć jednego while, jednak prawdopodobnie jeżeli pierwszy warunek jest spełniony to drugiego już nie sprawdza, a mi zależy na tym, żeby sprawdzał... Tu jest ta nieszczęsna pętla...

  1. $obrazki_query = mysql_query("SELECT * FROM `images` WHERE `nazwa` LIKE '%".$search."%';");
  2. $wideo_query = mysql_query("SELECT * FROM `movies` WHERE `nazwa` LIKE '%".$search."%';");
  3.  
  4. while( ( $obrazki = mysql_fetch_assoc($obrazki_query) ) || ( $wideo = mysql_fetch_assoc($wideo_query) ) )
  5. {
  6. echo '<a href="?id=obrazek&ido='.$obrazki['id_obrazka'].'">Obrazek</a><br />';
  7. echo '<a href="?id=wideo&idw='.$wideo['id_wideo'].'">Wideo</a><br />';
  8. }


Jeśli ktoś wie jak można mi pomóc to będę wdzięczny :)

Ten post edytował JinLisek 1.08.2011, 16:10:06
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


A dlaczego nie możesz użyć union select? Tylko będziesz walił dwa zapytania....
Go to the top of the page
+Quote Post
JinLisek
post
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 1.08.2011
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat(Fifi209 @ 6.08.2011, 13:59:23 ) *
A dlaczego nie możesz użyć union select? Tylko będziesz walił dwa zapytania....


Poczytałem trochę o union i to chyba rzeczywiście najlepsze rozwiązanie dla mnie... Tylko znowu jest problem z posortowaniem... Jeżeli posortuję te tabele w tym zapytaniu z union to one i tak będą posortowane osobno...

Dam przykład:

  1. SELECT * FROM `images` ORDER BY `data_dodania` DESC UNION SELECT * FROM `movies` ORDER BY `data_dodania` DESC


W takim razie gdybym miał tabele np tak ułożone:

images:
nazwa | data dodania

obrazek1 | 2011
obrazek2 | 2009
obrazek3 | 2011

movies:
nazwa | data dodania

filmik1 | 2001
filmik2 | 2010

To i tak wypisałoby mi w tej kolejności:
obrazek1, obrazek3, obrazek2, filmik2, filmik1...

A chodzi mi o to, żeby wypisało np. w takiej kolejności:
obrazek1, obrazek3, filmik2, obrazek2, filmik1

Odświeżam po raz kolejny... Nadal nie wiem w jaki sposób posortować te dane... Próbuję na bardzo różne (często dziwne) sposoby, ale nic nie pomaga... Naprawdę nikt nie wie jak to zrobić?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 17:32