Hej.
Jestem mocno początkujący w temacie.
Potrzebuję pomocy przy array_diff do którego dane pobierane są z dwóch oddzielnych baz danych.
Możliwe, że w podesłanym kodzie są jeszcze większe błędy, ponieważ cały czas się w tym grzebie.
Ogólnie potrzebuję pobrać JEDEN rekord na raz z bazy 2, ale jego ID nie może znajdować się w bazie 1.
Dotychczas dostawałem w zwrocie jeden rekord, ale nijak się to miało do oczekiwań. Wyglądało to jakby kod analizował tylko po 1 rekordzie w ogóle.
Będę wdzięczny za pomoc.
$db = query();
$historia = "SELECT task_post_id FROM database1.table1";
$historia_id = $db->query($historia);
$find = $historia_id->num_rows;
for ($x = 0; $x < mysqli_num_rows($historia_id); $x++) {
$data1 = mysqli_fetch_assoc($historia_id);
$db = query();
$posty = "SELECT ID FROM database2.table2";
$post_id = $db->query($posty);
$find = $post_id->num_rows;
for ($x = 0; $x < mysqli_num_rows($post_id); $x++) {
$data2 = mysqli_fetch_assoc($post_id);
$res=array_diff($ardata2,$ardata1);
Pozdrawiam
array_diff - wyszukiwanie z dwóch baz danych
-
- Posty: 3
- Rejestracja: 20 lis 2015, 22:15:39
- Płeć:
- User Agent:
- endriu888
- Obsługa CBA
- Posty: 1885
- Rejestracja: 23 sty 2012, 21:02:33
- Strona na CBA.pl: katalogfirm.c0.pl
- Płeć:
- User Agent:
- Kontakt:
array_diff - wyszukiwanie z dwóch baz danych
nie wiem ile jest wierszy w tych tabelach, ale zrobiłbym to tak:
najpierw wczytać wszystkie idy z pierwszej tabeli do tablicy nazwijmy ją $tab1;
Jeśli tych idów nie jest dużo, to wygenerować zapytanie:
SELECT id from tabela2 WHERE id NOT IN (tutaj_idy_z_$tab1_rozdzielone_przecinkiem);
Jesli idow jest dużo, to zapytanie:
SELECT id From tabela2;
wczytywać w pętli i sprawdzać czy id jest w $tab1. Jeśli jest -> continue, jeśli nie ma jest szukamy id -> break;
Z tego co zrozumiałem chodzi o pierwszego ida z tabeli2 a nie o wszystkie. ?
najpierw wczytać wszystkie idy z pierwszej tabeli do tablicy nazwijmy ją $tab1;
Jeśli tych idów nie jest dużo, to wygenerować zapytanie:
SELECT id from tabela2 WHERE id NOT IN (tutaj_idy_z_$tab1_rozdzielone_przecinkiem);
Jesli idow jest dużo, to zapytanie:
SELECT id From tabela2;
wczytywać w pętli i sprawdzać czy id jest w $tab1. Jeśli jest -> continue, jeśli nie ma jest szukamy id -> break;
Z tego co zrozumiałem chodzi o pierwszego ida z tabeli2 a nie o wszystkie. ?
Czy wiesz, że:
- W Panelu CBA w sekcji "wsparcie" jest dedykowany system ticketów (obsługi technicznej)
- Odpowiadamy na Forum oraz na adres mailowy obsluga(malpa)cba.pl
- Jesteśmy również na Facebooku! Znajdź nas na facebook.com/hostingcba | cba.pl
-
- Posty: 3
- Rejestracja: 20 lis 2015, 22:15:39
- Płeć:
- User Agent:
array_diff - wyszukiwanie z dwóch baz danych
endriu888 pisze: nie wiem ile jest wierszy w tych tabelach, ale zrobiłbym to tak:
najpierw wczytać wszystkie idy z pierwszej tabeli do tablicy nazwijmy ją $tab1;
Jeśli tych idów nie jest dużo, to wygenerować zapytanie:
SELECT id from tabela2 WHERE id NOT IN (tutaj_idy_z_$tab1_rozdzielone_przecinkiem);
Jesli idow jest dużo, to zapytanie:
SELECT id From tabela2;
wczytywać w pętli i sprawdzać czy id jest w $tab1. Jeśli jest -> continue, jeśli nie ma jest szukamy id -> break;
Z tego co zrozumiałem chodzi o pierwszego ida z tabeli2 a nie o wszystkie. ?
Dzięki za odpowiedź. Nie mam jednak pojęcia jak to napisać. Obecnie mam cały czas jedno rozwiązanie, ale nie wiem w jaki sposób przygotować dane do array diff po przecinku...
- endriu888
- Obsługa CBA
- Posty: 1885
- Rejestracja: 23 sty 2012, 21:02:33
- Strona na CBA.pl: katalogfirm.c0.pl
- Płeć:
- User Agent:
- Kontakt:
array_diff - wyszukiwanie z dwóch baz danych
Czy wiesz, że:
- W Panelu CBA w sekcji "wsparcie" jest dedykowany system ticketów (obsługi technicznej)
- Odpowiadamy na Forum oraz na adres mailowy obsluga(malpa)cba.pl
- Jesteśmy również na Facebooku! Znajdź nas na facebook.com/hostingcba | cba.pl