Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP i Mysql] dane z 3 baz danych
Forum PHP.pl > Forum > PHP
emaniek
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());
melkorm
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
emaniek
widzisz, jak wspomnialem, raczkuje w temacie, wprawdzie bawilem sie wczoraj array_merge ale nic mi nie wychodziło, moze moglbys mi to rozpisac?
dzieki
pinochet
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 ;-)
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.