Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML][MSSQL]Wyświetlanie danych z dwóch tabel
Forum PHP.pl > Forum > Przedszkole
-Jaq-
Mam mały problem. Co prawda nie jestem przedszkolakiem ale ma nadzieje, że to mi najszybciej pomogą.
Ande.
Mam dwie tabele A i B.

W tabeli A następujące kolumny
1. id_przetargu
2. id_zamawiajacego

W tabeli B następujące kolumny
1. id_zamawiającego
2. nazwa

Problem polega na algorytmie wyświetlania w pętli while wszystkich danych
z tabeli A uwzględniając relacje z tabelą B, poprzez id_zamawiajacego.

Walcze z tym cały dzień i doszedłem do momentu, gdzie przy id_przetargu wyświetla mi nazwę
pierwszego zamzawiającego, a następnie ... nic.

Help please.
Zbooj
SQL?

Kod
SELECT id_przetargu, id_zamawiajacego,nazwa FROM tabela A, tabela B WHERE tabela A.id_zamawiajacego=tabela B.id_zamawiajacego
-Jaq-
  1. <?php
  2. function wykaz ()
  3. {
  4. $result= @mysql_query("SELECT * FROM przetarg");
  5. $result1=@mysql_query("SELECT id_zamawiajacego FROM przetargi");
  6. $result2=@mysql_query("SELECT nazwa FROM zamawiajacy WHERE id_zamawiajacego='$result1'");
  7. $num = @mysql_num_rows($result);
  8.  
  9. if ($num==0:
  10.    $_SESSION['blad']="b3";
  11.         echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; url=../../bledy.php4\" > ";
  12. endif;
  13.  
  14. $i= 0;
  15. $j= $num;
  16. if ($i<0:
  17.     $_SESSION['blad']="b1";
  18.         echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; url=../../bledy.php4\" > ";
  19.     exit;
  20. endif;
  21.  
  22. if ($j>$num:
  23. $j=$num;
  24. endif;
  25.  
  26. while ($i<$j)
  27. {
  28.        $n = trim(@mysql_Result($result, $i, "id_przetargu"));
  29.        $n0 = trim(@mysql_Result($result, $i, "id_zamawiajacego"));
  30.        $n1 = trim(@mysql_Result($result, $i, "data_zlozenia"));
  31.        $n2 = trim(@mysql_Result($result, $i, "status"));
  32.        $n3 = trim(@mysql_Result($result2, $i, "nazwa"));
  33.        ?>
  34.    <TR align="center">
  35.        <TD><SPAN class="text_form"><?echo $n;?></SPAN></TD>
  36.        <TD><SPAN class="text_form"><?echo $n1;?></SPAN></TD>
  37.      <TD><SPAN class="text_form"><?echo $n2;?></SPAN></TD>
  38.     <TD><SPAN class="text_form"><?echo $n0;?></SPAN></TD>
  39.        <TD><SPAN class="text_form"><?echo $n3;?></SPAN></TD>
  40.       </TR><br>
  41.    <?$i++;
  42. }
  43. }
  44. ?>
  45. </CENTER>
  46. <?
  47. include ("../../connect.php4");
  48. wykaz();
  49. include ("../../disconnect.php4");
  50. ?>



Co robię źle? Nie chce mi wyświetlać nazwy zamawiającego. Zgłupiałem.
tiraeth
Kombinujesz i źle używasz funkcji. I tak z tego co widzę po kodzie, a po pytaniu, to przedstawiasz tu dwie różne sytuacje. Ja się jednak odwołam do pytania, nie do kodu.

  1. <?php
  2. $result = mysql_query('SELECT A.id_przetargu, B.id_zamawiajacego, B.nazwa
  3.  FROM tab_a A, tab_b B
  4.  WHERE A.id_zamawiajacego=B.id_zamawiajacego');
  5. echo '<dl>';
  6. if ( mysql_num_rows($result) == 0 ) {
  7.  echo '<dt>Brak rekordów</dt>';
  8. } else {
  9.  while ( $row = mysql_fetch_assoc($result) ) {
  10.    echo '<dt>id_przetar: '.$row['id_przetargu'].'</dt>';
  11.    echo '<dd><p>id_zamawiającego: '.$row['id_zamawiajacego'].'</p><p>naz: '.$row['nazwa'].'</p></dd>';
  12.  }
  13. }
  14. echo '</dl>';
  15. ?>


Przerób sobie na swoje potrzeby. I poczytaj: Temat: Tematyka_i_zasady_panujace_na_forum_Przedszkole
-Jaq-
Działa, dziękuję za pomoc.
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.