Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Porównanie dwóch tabel
Forum PHP.pl > Forum > PHP
Szymon80
Witam.

Pewnie to bardzo proste ale nie wychodzi mi za bardzo porównanie zawartości dwóch kolumn w osobnych tabelach i wyciągnięcie powtarzających się rekordów.
Zapytanie jest takie:
  1. $powkod = mysql_query("select * from ".$prefix."kodysms ks, ".$prefix."kodypre kp where ks.kodsms=kp.kodpre ");


Jak teraz wyciągnąć z tego "id" z każdej tabeli ( będą różne w każdej tabeli), oraz powtarzający się kod ?
A także jak zrobić zapytanie "delete", aby usuwało powtarzający się kod z tabeli "...kodpre" ?

Próbowałem przez funkcję wyciągnąć chociaż kod ale nic t nie dało.

  1. if($powkod ==TRUE) { echo $powkod;}


Powtarzający się kod jest na pewno bo sam go tam umieściłem.
Zyx
Zapoznaj się z zasadą działania funkcji mysql_query(), bo wnioskując z pokazanego kodu, nie rozumiesz jej dobrze. Funkcja ta nie zwraca wyniku, lecz identyfikator zbioru wyników, przy pomocy którego inne funkcje mogą pobrać dane.

Pokazane zapytanie zwróci Ci iloczyn kartezjański tych wierszy z obu tabel, które mają równe wartości obu pól. Jeśli w obu masz kolumnę "id", to musisz nadać jej w zapytaniu alias, aby ją rozróżnić. Możesz ten wynik przerobić i po prostu nakazać zapytaniem DELETE usunięcie wszystkich tych wierszy, które Ci nie odpowiadają, podając ich ID.

I wytłumacz, co według Ciebie ma robić ten kod:

  1. if($powkod ==TRUE) { echo $powkod;}
Szymon80
Witam.

Dzięki za odpowiedz ale problem już rozwiązany. Mój błąd w zapytaniu ( źle nazwałem tabelę "kodysms" zamiast "kody"), ale tłumaczę to późną porą nawet jak dla mnie smile.gif A to drugie (if'ka), to również późna pora i łapanie się ostrza brzytwy smile.gif . Sorki za zamieszanie. Wszystko działa ja należy.
zamiast "if" zrobiłem pętlę "while" i wyświetla poprawnie wszystkie powtarzające się rekordy.
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.