sql >> Base de Datos >  >> RDS >> Mysql

La salida de la base de datos de PHP no muestra la forma correcta

En primer lugar:dado que desea obtener varios temas de la base de datos, debe eliminar el LIMIT 1 de la consulta y el if($j >= 1) continue; en el ciclo foreach, ya que ambos están restringiendo su salida a solo 1 tema.

En tu bucle foreach para $toppics (ortografía correcta:temas;P) actualmente solo hace eco de una etiqueta de anclaje (enlace), pero lo que quiere es (para usar sus palabras aquí) un 'bloque'. Cualquiera que sea el aspecto que desee que tenga ese bloque, el lugar para definirlo es dentro de ese bucle foreach.

Ahora no sé qué elementos, clases o estilos usas/quieres usar, así que haré un ejemplo de un bloque que consiste en un título y debajo el enlace:

//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>';
}

Sé que mi solución no se verá exactamente como su imagen dada, pero debería mostrar cómo y dónde puede construir sus bloques.

Creo que este problema debería haber sido fácil de resolver cuando conoces los conceptos básicos de HTML, por lo que realmente te recomiendo que aprendas un poco más sobre HTML antes de trabajar en grandes proyectos.

Editar después de editar la pregunta:
Como mencioné en mi respuesta, my solution will not look exactly like your given image porque I don't know what elements, classes or stylings you use . Su problema restante ahora es el uso de las etiquetas, clases y estilos html correctos.

Parece que el elemento principal de los div generados tiene el estilo que desea que se vean los bloques individuales.
Entonces, lo que podría hacer es eliminar el elemento principal y usarlo como reemplazo del div generado, así :

<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>

nota al margen :No estoy de acuerdo con la construcción de su atributo href #section1. Al crear estas secciones, debe conocer el índice exacto de ese bucle foreach anterior. En su lugar, use algún atributo del tema en sí, tal vez su ID, título o descripción (como hice en el primer bloque de código). De esta manera, cuando esté creando las secciones, podrá saber fácilmente cómo establecer el atributo de identificación de los elementos.