Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Nie wyświetlanie pustego pola
Forum PHP.pl > Forum > Przedszkole
kosior11
Witam!

Mam taki skrypt wyświetlający wiadomości z bazy danych:

  1. <?php
  2. include("connect.php");
  3. $start = $_GET['start'];
  4. $na_stronie = 10;
  5. if (empty($_GET['start']))
  6. {
  7. $start=0;
  8. }
  9.  
  10. $query = "(SELECT tytul,autor,data,tresc,zdjecie AS wiadomosci FROM wiadomosci) UNION (SELECT tytul,autor,data,tresc,zdjecie AS artykuly FROM artykuly) ORDER BY data DESC LIMIT ".($start).",".$na_stronie."";
  11. $result = mysql_query ($query);
  12. while ($row = mysql_fetch_array($result))
  13. {
  14. $body .= '
  15. <li>
  16. <a href="look.php?id='.$row[0].'"><h1>'.$row[0].' </h1></a><div class="main_image"><img class="images" src="photos/'.$row[4].'" ></div></br>'.$row[2].' , '.$row[1].'</br><p>'.$row[3].'</p>
  17. </li>';
  18. } echo '<ul>'.$body.'</ul>';
  19.  
  20. .
  21. .
  22. .
  23.  
  24. ?>


Chciałbym go zmodyfikować w taki sposób, żeby w momencie gdy dodaje wiadomość przez formularz i pomijam opcje dodania zdjęcia, żeby wyświetlało się wszystko oprócz tego elementu
  1. <div class="main_image"><img class="images" src="photos/'.$row[4].'" ></div>


myślałem o czymś takim, ale nie wiem czy jest to dobry kod:

  1. if ($row[4] == '')
  2. {$body .= '
  3. <li>
  4. <a href="look.php?id='.$row[0].'"><h1>'.$row[0].' </h1></a></br>'.$row[2].' , '.$row[1].'</br><p>'.$row[3].'</p>
  5. </li>';
  6. }
  7. else
  8. {$body .= '
  9. <li>
  10. <a href="look.php?id='.$row[0].'"><h1>'.$row[0].' </h1></a><div class="main_image"><img class="images" src="photos/'.$row[4].'" ></div></br>'.$row[2].' , '.$row[1].'</br><p>'.$row[3].'</p>
  11. </li>';} echo '<ul>'.$body.'</ul>';
mortus
Warunek jest dobry, choć można jeszcze bardziej przystosować kod do reguły DRY:
  1. $imgHTML = empty($row[4]) ? '' : '<div class="main_image"><img class="images" src="photos/'.$row[4].'" ></div>';
  2. $body .= '
  3. <li>
  4. <a href="look.php?id='.$row[0].'"><h1>'.$row[0].' </h1></a>'.$imgHTML.'</br>'.$row[2].' , '.$row[1].'</br><p>'.$row[3].'</p>
  5. </li>';

Reszty kodu nie oceniam, ale dodam, że w HTML nie ma znacznika </br>, a jest <br />.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.