Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Porównanie dwóch tabel - problem z wynikiem
Forum PHP.pl > Forum > Przedszkole
McGal
Witam

Porównuje dwie tabele w których mam zbiory liczbowe.

Porównania w tabeli wyświetlają się prawidłowo.


  1. <?
  2. include('../include/dbconnect.php');
  3.  
  4. $set_id = $_REQUEST['set_id'];
  5.  
  6. $sql = "SELECT kod1 FROM baza1 WHERE set_id = '$set_id' ORDER BY kod1 ASC";
  7. $result = @mysql_query($sql);
  8.  
  9. while ($wiersz = @mysql_fetch_array($result))
  10. {
  11. $kod1 = $wiersz["kod1"];
  12. echo '<tr>';
  13. echo '<td>'.$kod1.'</td>';
  14.  
  15. $sql2 = "SELECT kod2 FROM baza2 ORDER BY kod2 ASC";
  16. $result2 = @mysql_query($sql2);
  17.  
  18. while ($wiersz2 = @mysql_fetch_array($result2))
  19. {
  20. $kod2 = $wiersz2["kod2"];
  21.  
  22. if ($kod1== $kod2) {
  23. echo '<td>'.$kod2.'</td>';
  24. }
  25.  
  26. }
  27.  
  28. echo '</tr>';
  29. }
  30. ?>



Problem następuje w momencie wyświetlenia wyniku gdy dodam else z
  1. if ($kod1 != $kod2) {echo '<td>Błędny kod</td>';}
niezależnie czy zbiory z obu tabel są identyczne czy nie są, wynik jest zawsze pozytywny a dodatkowo kolumna "Błędny kod" dokleja się do tabeli.

Rzućcie okiem co może być źle w tym kodzie.

Będę wdzięczny za każde sugestie.
Kshyhoo
Może wpierw wrzuć zapytania do tablicy, a potem:
  1. for($i=0;$i<$ile;$i++) {
  2. if ($a[$i]==$b[$i]) {
  3. $zgodne++;
  4. echo "$a[$i] - $b[$i]<br />";
  5. } else {
  6. $niezgodne++;
  7. echo "<b>$a[$i] - $b[$i]</b><br />";
  8. }
  9. }
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.