まず第一に:DBから複数のトピックをフェッチするため、LIMIT 1
を削除する必要があります クエリからif($j >= 1) continue;
foreachループでは、どちらも出力を1つのトピックに制限しているためです。
$toppics
のforeachループ内 (正しいスペル:トピック; P)現在、アンカータグ(リンク)のみをエコーしますが、必要なのは(ここで単語を使用するために)「ブロック」です。そのブロックをどのように見せたいかにかかわらず、それを定義する場所はそのforeachループ内にあります。
使用している/使用したい要素、クラス、またはスタイルがわからないため、タイトルとその下のリンクで構成されるブロックの例を作成します。
//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>';
}
私のソリューションは、指定されたイメージとまったく同じようには見えないことはわかっていますが、ブロックを構築する方法と場所を理解する必要があります。
HTMLの基本を知っていれば、この問題は簡単に解決できるはずだったので、大きなプロジェクトに取り組む前に、HTMLについてもう少し学ぶことをお勧めします。
編集 質問が編集された後:
私の回答で述べたように、my solution will not look exactly like your given image
I don't know what elements, classes or stylings you use
。残りの問題は、正しいhtmlタグ、クラス、およびスタイルの使用です。
生成されたdivの親要素は、単一のブロックのようにスタイル設定されているようです。
したがって、親要素を削除して、生成されたdivの代わりとして使用することができます。 :
<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>
補足 :href属性#section1の構築に同意しません。これらのセクションを作成するときは、前のforeachループからの正確なインデックスを知っている必要があります。代わりに、トピック自体の属性、おそらくそのID、タイトル、または説明を使用してください(最初のコードブロックで行ったように)。このようにして、セクションを作成するときに、要素のid属性を設定する方法を簡単に知ることができます。