sql >> Databáze >  >> RDS >> Mysql

Výstup databáze PHP neukazuje správnou cestu

Za prvé:Protože chcete z DB načíst více témat, musíte odstranit LIMIT 1 z dotazu a if($j >= 1) continue; ve smyčce foreach, protože oba omezují váš výstup pouze na 1 téma.

Ve smyčce foreach pro $toppics (správný pravopis:témata;P) v současné době pouze opakujete kotevní značku (odkaz), ale to, co chcete, je (abych zde použil vaše slova) 'blok'. Ať už tento blok vypadá jakkoli, místo pro definování je v rámci této smyčky foreach.

Teď nevím, jaké prvky, třídy nebo styly používáte/chcete použít, takže udělám příklad bloku, který se skládá z nadpisu a pod ním odkazu:

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

Vím, že moje řešení nebude vypadat přesně jako váš daný obrázek, ale mělo by vystihnout, jak a kde můžete stavět své bloky.

Myslím, že tento problém by měl být snadno řešitelný, když znáte základy HTML, takže opravdu doporučuji, abyste se o HTML naučili trochu víc, než začnete pracovat na velkých projektech.

Upravit po úpravě otázky:
Jak jsem uvedl ve své odpovědi, my solution will not look exactly like your given image protože I don't know what elements, classes or stylings you use . Vaším zbývajícím problémem je nyní použití správných html značek, tříd a stylů.

Zdá se, že nadřazený prvek vygenerovaných prvků div je stylizován tak, jak chcete, aby jednotlivé bloky vypadaly.
Co byste tedy mohli udělat, je odstranit nadřazený prvek a použít jej jako náhradu za vygenerovaný prvek div, např. :

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

vedlejší poznámka :Nesouhlasím s vaším vytvořením vašeho atributu href #section1. Při vytváření těchto sekcí byste museli znát přesný index z předchozí smyčky foreach. Místo toho použijte nějaký atribut ze samotného tématu, možná jeho ID, název nebo popis (jako jsem to udělal v prvním bloku kódu). Tímto způsobem při vytváření sekcí můžete snadno vědět, jak nastavit atribut id prvků.




  1. MySQL:Jak zjistím, které tabulky odkazují na konkrétní tabulku?

  2. Chyba-Pokus metodou 'X.set_DbConnection(System.Data.Common.DbConnection)' o přístup k metodě 'Y.get_Settings()' se nezdařil

  3. Jak předat tabulku jako parametr MySqlCommand?

  4. PDO připravil příkaz fetch() s dvojitým výsledkem