Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP i Mysql] dane z 3 baz danych
emaniek
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 12.10.2008

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


witam,

prosze o wyrozumialosc, gdyz dopiero sie ucze:) Tak czy owak mam problem z wyświetleniem wyników zapytań. Ale żeby nie było prosto to powiem, że wyglada to tak, że potrzebuje wykonac to samo zapytanie i "wyciągnąć" dane z 3 baz danych, następnie:
- złączyć wyniki z3 zapytań w jednej tabeli,
- pozostawić unikalne wyniki po kolumnie nazwa,
- posortować wszystko po nazwie,

Problem w tym, że nigdzie nie mogę tego znaleźć. Może ktoś ma inny pomysł jak to zrobić. Za pomoc serdecznie dziękuję.

Poniżej wklejam swój kod:

Kod

$dbh = mysql_connect ( $host, $username, $password )or die ("Połączenie
chwilowo niemożliwe, spróbuj za chwilę");

$query1 = "SELECT NAME AS NAZWA, PRICE AS Cena_Hurtowa_Netto FROM
         STANYMAGAZYNOWE
                 INNER JOIN
                CENNIKI ON STANYMAGAZYNOWE.ID = CENNIKI.ID
         WHERE
                STANY > $wartosc
                AND CENNIK = $cennik ";



                             $results1 = mysql_query($query1)
                                              or die (mysql_errmsg());
                
                             $dbh2 = mysql_connect ( $host1, $username, $password )or die ("Połączenie
                             chwilowo niemożliwe, spróbuj za chwilę");

                             $query2 = "SELECT NAME AS NAZWA, PRICE AS Cena_Hurtowa_Netto FROM
         STANYMAGAZYNOWE
                 INNER JOIN
                CENNIKI ON STANYMAGAZYNOWE.ID = CENNIKI.ID
         WHERE
                STANY > $wartosc
                AND CENNIK = $cennik ";

                             $results2 = mysql_query($query2)
                                              or die (mysql_errmsg());
                
                             $dbh3 = mysql_connect ( $host2, $username, $password )or die ("Połączenie
                             chwilowo niemożliwe, spróbuj za chwilę");

                        



                             $query3 = "SELECT NAME AS NAZWA, PRICE AS Cena_Hurtowa_Netto FROM
         STANYMAGAZYNOWE
                 INNER JOIN
                CENNIKI ON STANYMAGAZYNOWE.ID = CENNIKI.ID
         WHERE
                STANY > $wartosc
                AND CENNIK = $cennik ";



                             $results3 = mysql_query($query3)
                                              or die (mysql_errmsg());
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
melkorm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


1. możesz połączyć wyniki z 3 zapytań za pomocą array_merge

z sortowanie będzie ciężko ponieważ są to tablice wielowymiarowe :/ Nie wiem aż tak bardzo się nei bawiłem w sortowanie tablic wielowymiarowych za pomocą php'a ale co mi przychodzi do głowy tak na szybko to przelecieć foreach'em wynikowa tablice i nazwy dodawac do innej talicy i przy kazdym wykowyniu petli sparwdzac czy dana nazwa juz wystapila jezeli tak to przesunąć ją na koniec tablicy i zrobić array_pop czyli usunąć ją z końca tablicy i otrzymamy unikalną tablice po nazwie z sortowanie może być gorzej tongue.gif


--------------------
Go to the top of the page
+Quote Post
emaniek
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 12.10.2008

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


widzisz, jak wspomnialem, raczkuje w temacie, wprawdzie bawilem sie wczoraj array_merge ale nic mi nie wychodziło, moze moglbys mi to rozpisac?
dzieki
Go to the top of the page
+Quote Post
pinochet
post
Post #4





Grupa: Zarejestrowani
Postów: 120
Pomógł: 12
Dołączył: 9.10.2008
Skąd: Tricity.Rumia()

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


Tu daje kod dzialający według opisu melkorm
  1. <?php
  2. $res = array ($result1, $result2, $result3); // to moje widzimisie biggrin.gif
  3.  
  4. $wynikowa = array();
  5.  
  6. foreach($res as $result){
  7.    while ( $row = mysql_fetch_assoc($result)) {
  8.    $row = $result;
  9.      if(!array_key_exists($row['nazwa'], $wynikowa)){
  10.        $wynikowa[$row['nazwa']] = $row;
  11.        }
  12.    }
  13. }
  14. $sort($wynikowa);
  15. ?>

Nie jest to ładne rozwiązanie ... Lepiej uzyc array_merge pamiętaj że results z bazy danych trzeba jeszcze zamienic na tablice ;-)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 16:52