![]() |
![]() |
![]() ![]()
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 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
W zależności od struktury danych jedynie inaczej byś na pętlach używał wyszukiwania elementów w drugiej tablicy.
W najwyższej pętli byś wybierał klucz wyszukiwania. Potem używał szukajki w drugiej tablicy i zwracał pewne wyniki, które obrabiałbyś. Potem kolejny klucz szukania i tak w kółko... EDIT: Tutaj miałbyś szukanie po user z query1 i wpisy w query2 dla kolumny usersl zwykłym porównaniem No chyba, że znasz dokładnie klucz nazwy usera szukanego to najbardziej zewnętrzny foreach leci i tylko wewnętrzny jest w użyciu. Oczywiście najszybsza implementacja polega na optymalizacji. Jakiej? Userowie w $query1 są różni a tabela $query 2 w każdym przebiegu nie tylko szuka ale w przypadku znalezienia pasującego rekordu, po wypisaniu danych na ekran czy do jakiegokolwiek strumienia, usuwa go (IMG:style_emoticons/default/smile.gif) Każdy więc przebieg pętli daje nam szansę na skrócenie kolejnych. Ten post edytował thek 25.11.2009, 14:19:18 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 19:09 |