Mysql
 sql >> Database >  >> RDS >> Mysql

L'output del database PHP non mostra il modo corretto

Prima di tutto:poiché vuoi recuperare più argomenti dal DB, devi rimuovere il LIMIT 1 dalla query e il if($j >= 1) continue; nel ciclo foreach, poiché entrambi limitano l'output a un solo argomento.

Nel tuo ciclo foreach per $toppics (ortografia corretta:argomenti;P) al momento fai solo eco a un tag anchor (link), ma quello che vuoi è (per usare le tue parole qui) un 'blocco'. Qualunque cosa tu voglia che assomigli al blocco, il posto per definirlo è all'interno di quel ciclo foreach.

Ora non so quali elementi, classi o stili usi/vuoi usare, quindi farò un esempio di blocco che consiste in un titolo e sotto quello il link:

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

So che la mia soluzione non assomiglierà esattamente alla tua immagine data, ma dovrebbe chiarire come e dove puoi costruire i tuoi blocchi.

Penso che questo problema avrebbe dovuto essere facilmente risolvibile quando conosci le basi dell'HTML, quindi ti consiglierei davvero di imparare un po' di più sull'HTML prima di lavorare su grandi progetti.

Modifica dopo che la domanda è stata modificata:
Come ho detto nella mia risposta, my solution will not look exactly like your given image perché I don't know what elements, classes or stylings you use . Il tuo problema rimanente ora è l'utilizzo dei tag html, delle classi e degli stili corretti.

Sembra che l'elemento genitore dei div generati abbia lo stile che vuoi che appaiano i singoli blocchi.
Quindi quello che potresti fare è rimuovere l'elemento genitore e usarlo come sostituto del div generato, in questo modo :

<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 a margine :Non sono d'accordo con la tua creazione dell'attributo href #section1. Quando costruisci queste sezioni dovresti conoscere quell'indice esatto da quel precedente ciclo foreach. Invece, usa qualche attributo dall'argomento stesso, forse il suo ID, titolo o descrizione (come ho fatto nel primo blocco di codice). In questo modo quando crei le sezioni puoi facilmente sapere come impostare l'attributo dell'ID degli elementi.