Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dane wyjściowe bazy danych PHP nie pokazują prawidłowego sposobu

Po pierwsze:ponieważ chcesz pobrać wiele tematów z bazy danych, musisz usunąć LIMIT 1 z zapytania i if($j >= 1) continue; w pętli foreach, ponieważ oba ograniczają Twój wynik tylko do 1 tematu.

W pętli foreach dla $toppics (poprawna pisownia:tematy;P) aktualnie wyświetlasz tylko znacznik kotwicy (link), ale to, czego chcesz, to (aby użyć twoich słów tutaj) 'blok'. Niezależnie od tego, jak ma wyglądać ten blok, miejsce na zdefiniowanie tego znajduje się w tej pętli foreach.

Teraz nie wiem jakich elementów, klas czy stylizacji używasz/chcesz użyć, więc zrobię przykładowy blok, który składa się z tytułu, a poniżej linku:

//rename $topic keys to the names of your DB columns
foreach($toppics as $topic){
    echo '<div>';
    echo '<h3>'.$topic['title'].'</h3><br>'; 
    echo '<a href="#section'.$topic['id'].'">'.$topic['link_text'].'</a>';
    echo '</div><br>';
}

Wiem, że moje rozwiązanie nie będzie wyglądało dokładnie tak, jak podany obraz, ale powinno wskazywać, jak i gdzie możesz budować swoje bloki.

Myślę, że ten problem powinien być łatwy do rozwiązania, gdy znasz podstawy HTML, więc naprawdę polecam Ci dowiedzieć się nieco więcej o HTML przed rozpoczęciem pracy nad dużymi projektami.

Edytuj po edycji pytania:
Jak wspomniałem w mojej odpowiedzi, my solution will not look exactly like your given image ponieważ I don't know what elements, classes or stylings you use . Twoim pozostałym problemem jest teraz użycie poprawnych tagów html, klas i stylizacji.

Wygląda na to, że element rodzica wygenerowanych elementów div jest stylizowany tak, jak chcesz, aby wyglądały pojedyncze bloki.
Więc możesz usunąć element rodzica i użyć go jako zamiennika wygenerowanego elementu div, tak :

<div class="col-md-6">
         <div class="well dash-box">
           <h2><span class="glyphicon glyphicon-list-alt" aria-hidden="true"></span> Stel jezelf voor</h2>
           <h5><a href="https://tom.lbmedia.nl/onderwerp"> Laat wetn wie jij en je business zijn</a></h5>
   </div>
   </div>
  <div class="col-md-6">
  <!--<div class="well dash-box">-->
  <h2><span class="glyphicon glyphicon-list-alt" aria-hidden="true"></span> 12</h2>
  <?php
  $toppics = $app->get_topics();
  $i = 0;
  foreach($toppics as $topic){
      echo '<div class="well dash-box">';
      echo '<h3>'.$topic['onderwerp'].'</h3><br>'; 
      echo '<a href="#section' . $i++ . '">'  .$topic['omschrijving'].'</a>';
      echo '</div><br>';
  }
  ?>
  <!--</div>-->
  </div>

przypis :Nie zgadzam się z budowaniem przez Ciebie atrybutu href #section1. Tworząc te sekcje, musisz znać dokładny indeks z poprzedniej pętli foreach. Zamiast tego użyj jakiegoś atrybutu z samego tematu, może jego identyfikatora, tytułu lub opisu (tak jak zrobiłem w pierwszym bloku kodu). W ten sposób, kiedy budujesz sekcje, możesz łatwo wiedzieć, jak ustawić atrybut id elementów.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Skonfiguruj MySQL 8 z binarnego Tarballa

  2. Prosty przykład relacji wiele-do-wielu przy użyciu Sequelize

  3. Przygotowanie zapytania CakePHP z instrukcją join i podzapytanie

  4. Czy ograniczenie zapytania do jednego rekordu poprawia wydajność?

  5. [MySQL]:USUŃ wiersze z dwóch zależnych tabel