Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQLite][PHP]Jak to uprościć? Bałagan w kodzie... działa, ale...
arstherapia
post 29.09.2014, 21:14:18
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 13.08.2014

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


Kodzę sobie wieczorem i wpadłem na niegłupi chyba pomysł, aby nazwa kategorii wyświetlała się nad listingiem filmów.

Dodałem więc stosowny blok, ale mam 2 x zapytanie do bazy i taki oto bałagan... :

  1. <?php
  2. $kat_id = $_GET['kat_id'];
  3.  
  4. $result = $db->query("SELECT kat_nazwa FROM kategorie
  5. where kategorie.kat_id = $kat_id");
  6.  
  7. foreach($result as $row) { echo '<div class="section_header">
  8. <div class="row">
  9. <div class="col-lg-12">
  10. <h3>'.$row['kat_nazwa'].'</h3><hr /></br>
  11. </div>
  12. </div>
  13. </div> ';}
  14.  
  15. $result = $db->query("SELECT Okladka, Nazwa, short_opis, terapeuta_nazwa FROM filmy
  16. inner join terapeuci
  17. on terapeuci.terapeuta_id = filmy.terapeuta_id
  18. inner join filmy_kategorie
  19. on filmy.film_id = filmy_kategorie.film_id
  20. where filmy_kategorie.kat_id = $kat_id
  21.  
  22. ");
  23.  
  24. foreach($result as $row)
  25. { echo '<div id="filmlista" class="col-lg-6"><center>
  26.  
  27.  
  28.  
  29. <div class="col-lg-4">
  30. <img src="'.$row['Okladka'].'" class="picColor"/>
  31. </div></center>';
  32.  
  33. echo '<center> <div class="col-lg-8"><h5><strong>'.$row['Nazwa'].'</strong></h5></br><strong>'.$row['terapeuta_nazwa'].'</strong><br/><br/>'.$row['short_opis'].'<br/><br/>
  34. <button type="button" class="btn btn-default btn-block">Zobacz opis i fragment filmu</button>
  35. </div>
  36.  
  37. </div></center>';
  38.  
  39.  
  40. }
  41. ?>


Czy można to zrobić estetyczniej? Np. w jednym zapytaniu, albo bez for - each dla jednej nazwy, tj. kat_nazwa ?

Dziękuję.
Go to the top of the page
+Quote Post
pedro84
post 29.09.2014, 21:22:57
Post #2





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Estetycznej nie by było usunąć to spaghetti i zrobić porządnie, jak matka natura nakazuje: z wykorzystaniem jakiegoś systemu szablonów i oddzielić logikę od warstwy prezentacji na początek.


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
arstherapia
post 29.09.2014, 21:28:07
Post #3





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 13.08.2014

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


pedro84: Tak, masz rację, ale ja MVC ( bo chyba o tym piszesz ) nie znam ni cholery, tym bardziej żadnego frameworka. Przymierzam się do Laravela, ale to jeszcze chwila.

Jak to spaghetti uprościć w tradycyjny sposób?
Go to the top of the page
+Quote Post
Turson
post 29.09.2014, 21:30:47
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Nie trzeba od razu MVC bo nie o to chodzi, ale nie wsadzać kodu html w echo
Go to the top of the page
+Quote Post
arstherapia
post 29.09.2014, 21:32:28
Post #5





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 13.08.2014

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


Cytat(Turson @ 29.09.2014, 22:30:47 ) *
Nie trzeba od razu MVC bo nie o to chodzi, ale nie wsadzać kodu html w echo


Jak nie w echo to w co wsadzać?

( nie wiedziałem, że stanę przed takimi dylematami, w co wsadzać... wink.gif
Go to the top of the page
+Quote Post
Turson
post 29.09.2014, 21:34:30
Post #6





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


  1. <?php foreach($sth as $v): ?>
  2. <tr><td><?= $v ?> </td></tr>
  3. <?php endforeach; ?>

mały przykład
Go to the top of the page
+Quote Post
arstherapia
post 29.09.2014, 21:43:39
Post #7





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 13.08.2014

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


Dziękuję, już bardziej łapię.

A zapytań sql nie da się jakoś uprościć, zrobić w jednym np. ?
Go to the top of the page
+Quote Post
mmmmmmm
post 29.09.2014, 22:25:35
Post #8





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


Do drugiego apytania dorzuć jeszcze tabelę z kategoriami. Będiesz mial jedno zapytanie smile.gif
I dla nagłówka pobierasz zpierwszego rekordu kategorię, a ptem to już tradycyjnie...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 00:12