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
artvip
post
Post #2





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

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


[font="Times New Roman"][size="3"] Thek,

doradź jeszcze proszę jak to osadzić w kodzie.. Rozumiem, że w pierwszej pętli robię klucz:

  1. <?php
  2. //połączenie z bazą
  3.  
  4. $query = "SELECT user FROM matryca group by user";
  5.  
  6. $results = mysql_query($query) or die(mysql_error());
  7. echo "<center><table border="1">n";
  8. while ($query = mysql_fetch_assoc($results)) {
  9. echo "<tr>n";
  10. foreach ($query as $user) {
  11.  
  12. echo "<td>n";
  13. echo $user;
  14. echo "</td>n";
  15. }
  16. echo "</tr>n";
  17. }
  18. echo "</table>n";
  19.  
  20. $query2 = "SELECT usersl, logi, badi, inne FROM Dane order by usersl";
  21.  
  22. $results2 = mysql_query($query2) or die(mysql_error());
  23. echo "<center><table border="1">n";
  24. while ($query2 = mysql_fetch_assoc($results2)) {
  25. echo "<tr>n";
  26.  
  27. // i tu mam problem z drugim foreach'em i czy na pewno tutaj powinien być ?
  28. [/size][/font] foreach( $query1 AS $user ) {
  29. foreach( $query2 AS $logs) {
  30. if($user['user'] == $logs['usersl']) {
  31. }
  32. }}}
  33. echo "</tr>n";
  34. }
  35. echo "</table>n";
  36. ?>
  37.  
  38. Rozwiązanie drugie które zrobiłem i na którym się zablokowałem to:
  39. [php]
  40. <?php
  41. //połączenie z bazą
  42.  
  43. $query = "SELECT user FROM matryca group by user";
  44.  
  45. $result = mysql_query($query) or die(mysql_error());
  46. $num_rows = mysql_num_rows($result);
  47.  
  48. for ($i=0; $i<$num_rows; $i++) {
  49.  
  50. $wiersz = mysql_fetch_array($result);
  51.  
  52. $array[$i] = array($wiersz["user"]);
  53.  
  54.  
  55. }
  56.  
  57. $query2 = "SELECT * FROM Dane";
  58.  
  59. $result2 = mysql_query($query2) or die(mysql_error());
  60. $num_rows2 = mysql_num_rows($result2);
  61.  
  62. for ($i=0; $i<$num_rows2; $i++) {
  63.  
  64. $wiersz2 = mysql_fetch_array($result2);
  65.  
  66. $array2[$i] = array($wiersz2["usersl"], $wiersz2["logi"], $wiersz2["badi"], $wiersz2["inne"]);
  67.  
  68. }
  69.  
  70. echo "<pre>";
  71. print_r($array);
  72. print_r($array2);
  73. echo "</pre>";
  74.  
  75. ?>


Może tutaj jakoś już łatwo z arraya porównywać ? Tylko problem w tym, że nie mogę dojść jak.. in_array myślę, że będzie najbardziej odpowiednie tylko jak.. Foreach'em też zapewne się da..

Blokada zaczyna mi się na samym początku.. if(....

Dzięki za wszelkie porady.
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 02:27