Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Porównanie danych z dwóch tabel php (warunek IF)...?
artvip
post
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 15.02.2009

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


Mam sobie kod:

<?php
$conn = mysql_connect("xxx","xxx","xxx");
mysql_select_db("xxx");
if (mysql_errno()) {
echo mysql_error() . ": " . mysql_errno() . "<br>n";
exit;
}
$query = "SELECT user FROM matryca group by user";

$result = mysql_query($query) or die(mysql_error());
$num_rows = mysql_num_rows($result);

for ($i=0; $i<$num_rows; $i++) {

$wiersz = mysql_fetch_array($result);

echo "<br />";
echo "<td>".$wiersz["user"]."</td>";
echo "</td>";

}

$query = "SELECT usersl, logi, badi, inne FROM Dane order by usersl";

$result = mysql_query($query) or die(mysql_error());
$num_rows = mysql_num_rows($result);

for ($i=0; $i<$num_rows; $i++) {

$wiersz = mysql_fetch_array($result);


echo "<td>".$wiersz["usersl"]."</td>";
echo "</td>";

}
?>

Chciałbym w jakiś sposób porównać wynik z query 1 tak aby do każdego unikalnego "User" odnalazł pasujące dane z query 2 i wyświetlił dane w postaci identycznych rekordów. Czyli dla User z bazy 1 znalazłem "jakieś" rekordy które zawierają sie w query 2 dla dla User z query 1. Podobne rozwiązanie zrobiłem MYSQL ale interesuje mnie rozwiązanie w PHP.

Kompletnie nie wiem jak się za to zabrać (IMG:style_emoticons/default/sad.gif) Męczyłem się już array, array_diff a może wystarczy zwykłe if ? Pomoże ktoś?

Dzięki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Johnas
post
Post #2





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


Cytat(klez @ 31.01.2023, 11:20:37 ) *
zapytania SQl
  1.  
  2. $sSQL2 = "SELECT RIGHT(nrg, 6), `kod_firmy_montujacej` FROM `gwarancje` WHERE `dta_zapisu` BETWEEN '$data_poczg' AND '$data_zakog' GROUP BY `nrg`, `kod_firmy_montujacej` ORDER BY `gwarancje`.`dta_zapisu` DESC LIMIT $limg";
  3. $wynik2 = mysql_query ($sSQL2, $idb2) or die ($db_error03);
  4.  
  5. $sSQL1 = "SELECT RIGHT(nr_gwarancji, 6),`idmonter_id`, `data_zmiany` FROM `homologator_gwarancja` WHERE `data_zmiany` BETWEEN '$data_pocz' AND '$data_zako' GROUP BY `nr_gwarancji`, `idmonter_id` ORDER BY `homologator_gwarancja`.`data_zmiany` DESC LIMIT $limh";
  6. $wynik = mysql_query ($sSQL1, $idb1) or die ($db_error03);


pierwszego jeszt 116 array
  1. [116] => Array
  2. (
  3. [0] => 631516
  4. [1] => 0996
  5. [2] => 2023-01-30 05:55:35
  6. )
  7.  


a drugiego 41
  1. [41] => Array
  2. (
  3. [0] => 633127
  4. [1] => 0963
  5. )


i chce wiedziec jakich barkuje zeby było 116 z prawiei i 116 z lewej



To nie lepiej w zapytaniu użyć left join i pobierac same zapisy nie pasujace do reszty ?

próbowałem to napisać, ale on ma w jednym i drugim zapytaniu dane limity podejrzewam że dla paginacji więc to nawet z lefto joinem nie zadziała... Musiałbym zobaczyć strukturę i zrozumieć co chcesz uzyskać

nie wiem czemu to kur*a zwraca pusty wynik, jak wyszukiwarka google w poszukiwaniu mojego szczęścia

  1. SELECT gwarancje.* FROM gwarancje RIGHT JOIN homologator_gwarancja ON gwarancje.nrg = homologator_gwarancja.nr_gwarancji WHERE gwarancje.nrg != homologator_gwarancja.nr_gwarancji


SELECT gwarancje.* FROM gwarancje RIGHT JOIN homologator_gwarancja ON gwarancje.nrg != `homologator_gwarancja`.`nr_gwarancji`




15 i 16 jest pojedynczo, a 17 podwójnie chociaż powinno być samo podwójnie... Szukaj duplikatów (IMG:style_emoticons/default/smile.gif) ... możesz raz przeforeachować i do nowej tablicy dać podwójne... nie optymalnie, ale inaczej nie umiem... inaczej nie wiem jak to kurwa zrobić... ani left ini right join nie działa... psychiatra "Sarius" powiedział mi w piosence "trumna" że na końcu i tak zostanę sam...

Ten post edytował Johnas 31.01.2023, 19:38:21
Go to the top of the page
+Quote Post

Posty w temacie
- artvip   [PHP]Porównanie danych z dwóch tabel php (warunek IF)...?   25.11.2009, 11:35:43
- - korro   zacznij od zapoznania się z: http://www.php.net/ma...   25.11.2009, 13:57:48
- - thek   W zależności od struktury danych jedynie inaczej b...   25.11.2009, 14:06:52
- - artvip   [font="Times New Roman"][size="3...   25.11.2009, 19:45:59
- - thek   To zerknij sobie na spokojnie i pomyśl gdzie robis...   25.11.2009, 21:16:50
- - artvip   Dziękuję Działa ale to tylko część efektu który c...   26.11.2009, 20:54:32
- - thek   No to wtedy jedynie zmieniasz odpowiednio warunek ...   26.11.2009, 21:06:45
- - artvip   hmm... rozważałem taką opcję ale.. W przykładzie...   26.11.2009, 21:52:29
- - thek   Myślisz w dobrym kierunku. Możesz to określić odrę...   26.11.2009, 22:00:32
- - artvip   Mój foreach: [PHP] pobierz, plaintext foreach ...   27.11.2009, 10:39:02
- - thek   To ja się pytam... Czemu zagnieżdżasz 3 foreach we...   27.11.2009, 13:09:02
- - artvip   Oczywiście racja, moje niedopatrzenie. [PHP] pobi...   27.11.2009, 15:00:31
- - thek   A gdzie zgubiłeś IFy? Robiąc tak jak robisz nadpi...   27.11.2009, 15:50:52
- - klez   Witam Co zrobić gdy, mają się nie zgadzać. [PHP]...   30.01.2023, 12:16:58
- - com   a sprawdź co masz w tym array i array2   30.01.2023, 18:31:58
- - trueblue   Jeśli dane pochodzą z bazy, to znalezienie danych,...   30.01.2023, 18:49:35
- - klez   to są 2 oddzielne bazy. zastosowanie JOIN nic nie ...   31.01.2023, 10:07:22
- - trueblue   1. Nie JOIN, a OUTER JOIN. 2. Możliwe jest wykonyw...   31.01.2023, 11:04:45
- - klez   zapytania SQl [PHP] pobierz, plaintext  $sSQL...   31.01.2023, 11:20:37
- - trueblue   1. Nie wiem czy masz zdefiniowane $limg oraz ...   31.01.2023, 12:19:33
- - klez   A jak to zapisać bo już się pogubiłem   31.01.2023, 14:01:09
- - Johnas   Cytat(klez @ 31.01.2023, 11:20:37 ) z...   31.01.2023, 22:17:14
- - klez   A może zapisać [PHP] pobierz, plaintext foreach...   1.02.2023, 13:11:36
- - trueblue   Opisałem Ci już rozwiązania. Można wykonać zapytan...   1.02.2023, 14:25:25


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: 14.10.2025 - 17:12