Pracuję nad moim drugim projektem, jednak utknąłem w tym miejscu i dosłownie nie znalazłem niczego innego w Internecie, więc sprowadziłem się do mnie, prosząc tłum Stackoverflow. Używam Codeigniter do pracy nad witryną z recenzjami gier. Udało mi się załadować moje dane fałszywych recenzji z bazy danych do serwisu. Chciałbym jednak użyć kart Bootstrap do przechowywania danych recenzji gier, takich jak obraz, tytuł gry i krótki opis recenzji. Oto mój kod poniżej:

<div class="container">
    <div class="row">
        <?php
        foreach ($result as $row)
        {


             $thisImage = $row->ReviewImage;
             echo "<tr>";
             echo "<td>". "<img src='application/images/$thisImage'".$row->ReviewImage."</td>";
             echo "<td>".$row->GameName."<br>"."<td>";
             echo "<td>".$row->GameBlurb."<br>"."<td>";
             echo "<td>".$row->GameReview."<br>"."<td>";
             
            // Look into the image properties library in CodeIgniter for more help on images:

        }
        ?>
    </div>
</div>
</body>

Jeśli ktokolwiek, kto wcześniej pracował z kartami Bootstrap, wiedział, jak zaimplementować je w zapłonniku kodu, naprawdę przydałaby mi się pomoc, ponieważ wypróbowałem wszystkie metody, ale nie udało mi się.

1
ClassyKidder 14 marzec 2020, 07:59

2 odpowiedzi

Najlepsza odpowiedź

Oto domyślny szablon karty Bootstrap, Źródło:

<div class="card" style="width: 18rem;">
  <img src="..." class="card-img-top" alt="...">
  <div class="card-body">
    <h5 class="card-title">Card title</h5>
    <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
    <a href="#" class="btn btn-primary">Go somewhere</a>
  </div>
</div>

Spróbuj tego:

...

<div class="row">
        <?php foreach ($result as $row):?>
             <div class="card" style="width: 18rem;">
                 <img src="application/images/<?= $row->ReviewImage ?>" class="card-img-top" alt="<?= $row->GameName ?>">
                 <div class="card-body">
                      <h5 class="card-title"><?= $row->GameName ?></h5>
                      <p class="card-text"><?= $row->GameBlurb . ' ' . $row->GameReview ?></p>
                      <a href="#" class="btn btn-primary">Go somewhere</a>
                 </div>
             </div>
        <?php endforeach; ?>
    </div>
...

Mam nadzieję, że to pomoże.

2
Serghei Leonenco 14 marzec 2020, 05:17

Twój kod ma pewne problemy:

  1. nie potrzebujesz <tr> i <td>, ponieważ nie drukujesz tabeli HTML
  2. w atrybucie src obrazu używasz $row->ReviewImage dwa razy, możesz po prostu pominąć $thisImage = $row->ReviewImage;
  3. używając PHP w szablonie HTML, użyj alternatywnej składni dla struktur kontrolnych aby zwiększyć czytelność, aby zaimplementować kartę w aplikacji, postępuj zgodnie z dokumentacją dotyczącą karty rozruchowej , oto sugerowany kod:
<div class="container">
  <div class="row">
    <?php foreach ($result as $row): ?>
      <div class="card" style="width: 18rem;">
        <img src="<?php echo '/games-rev/images/' . $thisImage; ?>" class="card-img-top" alt="title goes here" />
        <div class="card-body">
          <h5 class="card-title"><?php echo $row->GameName; ?></h5>
          <p class="card-text">
            <?php echo $row->GameBlurb; ?>
            <?php echo $row->GameReview; ?>
          </p>
          <a href="#" class="btn btn-primary">Go somewhere</a>
        </div>
      </div>
    <?php endforeach; ?>
  </div>
</div>
0
ROOT 14 marzec 2020, 14:41