Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kod HTML w zależności od nazwy rekordu w bazie
Forum PHP.pl > Forum > PHP
spock
Witam,
powiem co chce osiągnąć...

Mam tablice "moduly"
No i jest strona główna, na niej chcę wyświetlać moduły z ORDER BY "kolejnosc" i teraz jest tak, że moduł ma nazwę, np. slider, bloktekstowy.
I teraz jeżeli ktoś do tej strony głównej doda sobie moduł w kolejności (czyli doda go w tablicy moduly) :

slider
bloktekstowy
slider


To żeby pod czas while odczytywania z tablicy modulow gdzie są 3 rekordy, slider, bloktekstowy, slider to żeby w zależności od nazwy wyświetlał przypisany kod html wraz ze zmiennymi z tego rekordu,np. tytuł, podtytuł.
  1. $sql = "SELECT * FROM strony, modules
  2. WHERE strony.id=modules.kotwica_strony
  3. AND strony.id like '2'
  4. ORDER BY modules.kolejnosc";
  5. $result = mysql_query($sql);
  6.  
  7. while($row = mysql_fetch_array($result)){
  8. $id = $row['id'];
  9. $tytul = $row['nazwa_modulu'];


Chodzi mi o to, żeby do danej nazwy modulu był przypisany dany kod html.
oczywiście tego kodu html będzie wiecej, np. dla slidera chciałbym żeby wyświetlało się to tak:

  1. <div class="banner-wrapper">
  2. <div id="myCarousel" class="carousel fade-carousel slide" data-ride="carousel">
  3. <!-- Indicators -->
  4. <ol class="carousel-indicators">
  5. <li data-target="#myCarousel" data-slide-to="0" class="active"></li>
  6. <li data-target="#myCarousel" data-slide-to="1"></li>
  7. <li data-target="#myCarousel" data-slide-to="2"></li>
  8. <li data-target="#myCarousel" data-slide-to="3"></li>
  9. </ol>
  10. <!-- Wrapper for slides -->
  11. <div class="carousel-inner" role="listbox">
  12. <div class="item slides active">
  13. <div class="slide-1"></div>
  14. <div class="carousel-text">
  15. <h1 class="animated1">'.$tytul.'</h1>
  16. <h3 class="animated2">'.$slogan.'</h3>
  17. <p class="animated3">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text</p>
  18. <button class="btn btn-carousel btn-lg animated4">Read More <i class="fa fa-caret-right" aria-hidden="true"></i></button>
  19. </div>
  20. </div>
  21.  
  22. </div>
  23. </div>
  24. </div>
  25. </div>


dla modulu o innej nazwie całkowicie co innego, ale żeby można było z zapytania while do każdego stosować zmienne z danego rekordu
Oczywiście nie oczekuje gotowego rozwiązania, ale funkcji która pozwoli w zależności od nazwy rekordu zastosowanie danego bloku kodu.
jakub.drag
Nie wiem czy dobrze rozumiem, ale jeśli tak, to wystarczy Ci do tego konstrukcja switch.

  1. switch($row['nazwa_modulu'])
  2. {
  3. case 'slider':
  4. //kod HTML dla slidera
  5. break;
  6. case 'bloktekstowy':
  7. //kod dla bloku tekstu
  8. break;
  9. default:
  10. //nieznany typ modułu
  11. break;
  12. }


I przy okazji: funkcje mysql_* są już przestarzałe, zastanów się nad użyciem PDO lub choćby MySQLi. smile.gif
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.