sql >> Database >  >> RDS >> Mysql

De uitvoer van de PHP-database wordt niet op de juiste manier weergegeven

Allereerst:aangezien u meerdere onderwerpen uit de DB wilt halen, moet u de LIMIT 1 verwijderen van de zoekopdracht en de if($j >= 1) continue; in de foreach-lus, omdat ze allebei je output beperken tot slechts 1 onderwerp.

In je foreach-lus voor $toppics (correcte spelling:topics;P) je echo momenteel alleen een anchor tag (link), maar wat je wilt is (om je woorden hier te gebruiken) een 'block'. Hoe je ook wilt dat dat blok eruitziet, de plek om dat te definiëren is binnen die foreach-lus.

Nu weet ik niet welke elementen, klassen of stijlen je gebruikt/wil gebruiken, dus ik zal een voorbeeld maken van een blok dat bestaat uit een titel en daaronder de 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>';
}

Ik weet dat mijn oplossing er niet precies zo uit zal zien als uw gegeven afbeelding, maar het zou duidelijk moeten maken hoe en waar u uw blokken kunt bouwen.

Ik denk dat dit probleem gemakkelijk op te lossen had moeten zijn als je de basis van HTML kent, dus ik zou je echt aanraden om wat meer over HTML te leren voordat je aan grote projecten gaat werken.

Bewerken nadat de vraag was aangepast:
Zoals ik al zei in mijn antwoord, my solution will not look exactly like your given image omdat I don't know what elements, classes or stylings you use . Uw resterende probleem is nu het gebruik van de juiste html-tags, klassen en stijlen.

Het lijkt erop dat het bovenliggende element van de gegenereerde div's is gestileerd zoals u wilt dat de afzonderlijke blokken eruitzien.
Dus wat u zou kunnen doen is het bovenliggende element verwijderen en het gebruiken als vervanging van de gegenereerde div, zoals zo :

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

sidenote :Ik ben het niet eens met het bouwen van uw href-attribuut #section1. Bij het bouwen van deze secties zou je die exacte index van die vorige foreach-lus moeten kennen. Gebruik in plaats daarvan een attribuut van het onderwerp zelf, misschien zijn ID, titel of beschrijving (zoals ik deed in het eerste codeblok). Op deze manier kunt u tijdens het bouwen van de secties gemakkelijk weten hoe u het element id-attribuut instelt.




  1. stel nieuwe waarde in voor ft_min_word_len FULLTEXT in mysql

  2. Hoe maak je een unieke index waarbij geen rekening wordt gehouden met de kolomvolgorde (ingesteld?)

  3. Miljoenen records invoegen van lokale naar godaddy-hosting

  4. Voorkom dat formulier opnieuw wordt ingediend nadat op de knop Terug is geklikt