Skocz do zawartości

PHP i porównywanie dwóch tabel


Borgis

Rekomendowane odpowiedzi

Witam,

mam dwie tabele:

1. tabela

0000001KS -> 10,50

0000002KS -> 12,75

0000007KS -> 7,23

0000011KS -> 4,00

0000015KS -> 125,76

0000016KS -> 34,60

indeks towaru -> cena

2. tabela

0000001KS -> 11,34

0000002KS -> 10,75

0000005KS -> 4,22

0000007KS -> 8,24

0000008KS -> 18,43

0000011KS -> 4,10

0000015KS -> 124,60

0000016KS -> 33,54

indeks towaru -> cena

Różna liczba wpisów.

I teraz muszę odszukać w tabeli 1. pozycje, których cena różni się od ceny w tabeli 2.

Ponieważ znam php na bardzo niski poziomie :( to robię to tak, że iteruję tabelę 1., szukam indeksu w tabeli 2., porównuję ceny (jak różne to sobie w trzeciej tabeli zapisuję) i idę dalej.

Da się to jakoś zrobić lepiej. Bo obie tabele mają po około 70 000 pozycji i trwa to, trwa? Jak znam życie to na pewno jednym, dwoma poleceniami.

Po podaniu prawidłowego rozwiązania mojego problemu proszę na PW adres do wysyłki łiskacza ;)

Odnośnik do komentarza
Udostępnij na innych stronach


mam dwie tabele:
Tabele w bazie danych, czy też tablice danych array ?

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Mo


Jeśli od tego zależy Twoja porada to wersja dowolna.
Dziwne podejście....

Więc moja porada <darmowa> mówi, że można to zrealizować jako zapytanie SQL. Niestety podanie funkcjonalnego kodu / rozwiązania na tacy wykracza w tym wypadku poza zakres "porady".

:pisze:

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Dlaczego dziwne podejście? Może źle zrozumiałeś. Albo ja źle to napisałem.

Nie chodziło mi o to, czy mi coś poradzisz czy nie i będzie to od czegoś zależało tylko o to, że dla łatwiejszego poradzenia dane mogą być w wersji najbardziej odpowiedniej dla osoby radzącej.

Odnośnik do komentarza
Udostępnij na innych stronach


Dlaczego dziwne podejście?
Dlatego, że rozwiazań w aplikacji nie implementuje się na podstawie "czy ktoś poradzi", ale specyfikacji technicznej opracowanej przez programistę znającego się na temacie.

Jest zasadnicza różnica między operacjami na bazie danych VS operacjami z wykorzystaniem wbudowanych funkcji PHP lub do danego zadania napisanych. Zwłaszcza dla "porcji" danych 70 K rekordów.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

SELECT `table1`.`id`, `table1`.`price`

LEFT JOIN `table2` ON `table1`.`id` = `table2`.`id`

WHERE `table1`.`price` <> `table2`.`price`


Tu masz napisane z palca zapytanie SQL które możesz przerobić na własne potrzeby.


Najoptymalniej będzie Ci przenieść tego xml do bazy danych i skrypt wywoływać poleceniem SQL.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności