Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Wyświetlenie z BD w tabelce, Złączenie kitabel mysql i wyświetlenie w odpowiedniej formie na stroni
aisha
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 14.02.2017

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


Dzień dobry, z góry przepraszam jeśli coś zrobiłam nie tak jak powinnam, ale to pierwszy raz kiedy korzystam z forum.

Mój problem wygląda następująco.
Mam bazę w której jest kilka tabel. Przechowują one dane z normalnej tabelki gdzie są wiersze i kolumny.

Udało mi się napisać zapytanie, które łączy tabele, które są w bazie. W phpmyadmin po wpisaniu kodu sql wydaje mi się,że wygląda wszystko tak jak powinno. Teraz muszę wyświetlić to co jest w bazie na stronie w formie tabelki. I tu pojawia się mój problem, bo nie umiem sobie z tym poradzić. Każda nazwa obiektu i atrybutu powinna pojawić się tylko raz. I każda para obiekt atrybut powinna mieć przypisaną do siebie wartość.


Ogólnie schematycznie tabelka powinna wyglądać tak:

| Nazwa atrybutu | Nazwa atrybutu | Nazwa atrybutu | Nazwa atrybutu
___________________________________________________________
Nazwa obiektu | Nazwa wartości | Nazwa wartości | Nazwa wartości | Nazwa wartości |
Nazwa obiektu | Nazwa wartości | Nazwa wartości | Nazwa wartości | Nazwa wartości |
Nazwa obiektu | Nazwa wartości | Nazwa wartości | Nazwa wartości | Nazwa wartości |
Nazwa obiektu | Nazwa wartości | Nazwa wartości | Nazwa wartości | Nazwa wartości |
Nazwa obiektu | Nazwa wartości | Nazwa wartości | Nazwa wartości | Nazwa wartości |
Nazwa obiektu | Nazwa wartości | Nazwa wartości | Nazwa wartości | Nazwa wartości |


Tutaj są screeny konkretów
Wynik zapytania mysql

Wygąd po wyświetleniu na stronie


Na chwile obecną żeby wyświetlić nazwę obiektu i nazwę atrybutu z bazy używam osobnych dwóch zapytań, bo inaczej nie potrafię.


Prosiła bym o:
- powiedzenie mi czy to zapytanie waszym zdaniem jest poprawne żeby wyświetlić to w takiej formie jak potrzebuję?
- jakieś wskazówki/wytłumaczenie odnośnie tego jak to wyświetlić w tabelce za pomocą php i htmla. Proszę o pisanie na chłopski rozum gdyż niestety w tej tematyce dopiero raczkuje (IMG:style_emoticons/default/sad.gif)

Jeżeli zapomniałam coś dopisać lub napisałam niezrozumiale proszę mnie poinformować

Z góry dziękuje za każdą pomoc.




  1. <!--c1--><div class='codetop'>Kod</div><div class='codemain'><!--ec1--><?php
  2. echo'<table class="table table-bordered">';
  3. echo'<table class="table table-striped">';
  4. echo"<tbody>";
  5.  
  6. /*
  7. $zapytanie = "select nazwa_atrybutu, nazwa_obiektu, nazwa_wartosci from atrybut
  8. join pozycja on atrybut.id_atrybutu=pozycja.atrybut_id_atrybutu
  9. join obiekt on
  10. obiekt.id_obiektu= pozycja.obiekt_id_obiektu
  11. join wartosc on wartosc.id_wartosci=pozycja.wartosc_id_wartosci ";
  12. */
  13.  
  14.  
  15.  
  16. $zapytanie = "select nazwa_obiektu, nazwa_atrybutu,`wartosc_num`, nazwa_wartosci,nr_kolumny from atrybut
  17. left join pozycja on atrybut.id_atrybutu=pozycja.atrybut_id_atrybutu
  18. left join obiekt on obiekt.id_obiektu= pozycja.obiekt_id_obiektu
  19. left join wartosc on wartosc.id_wartosci=pozycja.wartosc_id_wartosci
  20. where nr_kolumny = wartosc_num";
  21.  
  22.  
  23.  
  24. $wynik = mysql_query($zapytanie);
  25.  
  26. $ilosc_wszystkich_wierszy = mysql_num_rows($wynik);
  27. echo "Ilosc wszytskich wierszy dla zapytania: $ilosc_wszystkich_wierszy";
  28. echo "</br>";
  29.  
  30. $zapytanie_liczba_obiektow = "select * from obiekt";
  31.  
  32. $wynik_obiekty = mysql_query($zapytanie_liczba_obiektow);
  33. $ilosc_obiektow = mysql_num_rows($wynik_obiekty);
  34. echo "Ilosc obiektow:  $ilosc_obiektow";
  35. echo "</br>";
  36.  
  37. $zapytanie_liczba_atrybutow = "select * from atrybut";
  38.  
  39. $wynik_atrybuty = mysql_query($zapytanie_liczba_atrybutow);
  40. $ilosc_atrybutow = mysql_num_rows($wynik_atrybuty);
  41.  
  42.  
  43.  
  44. echo "Ilosc atrybutow: $ilosc_atrybutow";
  45. echo "</br>";
  46. echo "</br>";
  47.  
  48. echo '<tr>';    
  49. echo '<th>';    
  50.  
  51. while ($row = mysql_fetch_assoc($wynik_atrybuty)){
  52.  
  53.  
  54.  
  55. echo "<td>{$row['nazwa_atrybutu']}</td>\n";
  56.     
  57. }
  58. echo '</th>';
  59. echo '</tr>';    
  60.  
  61. while ($row = mysql_fetch_assoc($wynik_obiekty)){    
  62.  
  63. echo '<tr>';    
  64. echo "<th>{$row['nazwa_obiektu']}</th>\n";
  65.  
  66. while ($row = mysql_fetch_assoc($wynik)){    
  67.  
  68. echo  "<td>{$row['nazwa_wartosci']}</td>";    
  69.  
  70. }
  71.  
  72.  
  73. echo '</tr>';    
  74. }
  75.  
  76.  
  77.  
  78. echo"</tbody>";
  79. echo" </table>";
  80. echo" </table>";
  81.  
  82. ?><!--c2--></div><!--ec2-->
Go to the top of the page
+Quote Post

Posty w temacie


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: 23.12.2025 - 19:17