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
ano
post
Post #2





Grupa: Zarejestrowani
Postów: 435
Pomógł: 40
Dołączył: 16.02.2003
Skąd: Wrocław

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


Spróbuj w ten sposób:

  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. if($obrazki) echo '<a href="?id=obrazek&ido='.$obrazki['id_obrazka'].'">Obrazek</a><br />';
  7. if($wideo) echo '<a href="?id=wideo&idw='.$wideo['id_wideo'].'">Wideo</a><br />';
  8. }


Ale myślę, że sposób z tablicą i tak będzie najlepszy w twoim przypadku. (tablica w sensie ARRAY, nie tworzenie nowej tabeli w DB ;D)

  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. $tablica = array();
  5. $i = 0;
  6.  
  7. //najpierw dodamy obrazki do $tablica
  8. while($obrazki = mysql_fetch_assoc($obrazki_query) )
  9. {
  10. $tablica[$i][0] = 'obrazek'; //oczywiscie musimy zapisac w tym momencie czy jest to obrazek czy wideo
  11. $tablica[$i++][1] = $obrazki['id_obrazka'];
  12. }
  13.  
  14. //teraz dodajemy wideo do naszej array
  15. while($wideo = mysql_fetch_assoc($wideo_query) )
  16. {
  17. $tablica[$i][0] = 'wideo';
  18. $tablica[$i++][1] = $wideo['id_wideo'];
  19. }
  20.  
  21. shuffle($tablica) //i mozesz sobie np pomieszac -- i to jest ten kluczowy pozytywny element w tym sposobie.
  22.  
  23. //a teraz wyświetlimy
  24.  
  25. for($i = 0; $i< count($tablica); ++$i) {
  26. if($tablica[$i][0]=='obrazek') {
  27. echo '<a href="?id=obrazek&ido='.$tablica[$i][1].'">Obrazek</a><br />';
  28. }
  29. else {
  30. echo '<a href="?id=wideo&ido='.$tablica[$i][1].'">Wideo</a><br />';
  31. }
  32. }
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: 12.10.2025 - 15:06