Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Poprawne wyświetlanie napisów
Forum PHP.pl > Forum > PHP
plove
Witam.
Mam problem, zapewne banalny ale od 3 godzin nie potrafię go rozwiązać.
Na początku podam mój kod i powiem co chociałbym zrobić.

  1. <table>
  2. <thead>
  3. <tr></tr>
  4. <tr>
  5. <th>Nazwa</th>
  6. <th>Termin</th>
  7. </tr>
  8. </thead>
  9. <tbody>
  10. <?php
  11. $query = mysql_query("select * FROM zadania WHERE login='$myusername' ORDER BY id"); //Pobieranie każdego rekordu z datą "do"
  12. while($rekord = mysql_fetch_array($query))
  13. {
  14. $data = $rekord[9];
  15. $aktualnadata = date("Y-m-d"); //Pobiera aktualną datę w formie rok/miesiąc/dzień
  16. $przypomnienie = (strtotime($data) - strtotime($aktualnadata)) / (60*60*24); //strtotime() - data w sekundach którą trzeba podzielic przez sekundy w minucie 60 - minuty w godzinie 60 i godziny w dobie 24
  17. if($przypomnienie >= "1") //Warunek sprawdzający czy minął termin zlecenia
  18. {
  19. echo '<tr><td><a>Termin zlecenia <b>'.$rekord[1].'</b> mija za</td> <td><a style ="color: red;">'.$przypomnienie.' dni</a></a></td></tr>';
  20. }
  21. else
  22. {
  23. echo '<tr><td><a>Termin zlecenia <b>'.$rekord[1].'</b> upłynął dnia </td> <td><a style ="color: red;">'.$rekord[9].'</a></a></td></tr>';
  24. }
  25. }
  26. ?>
  27. </tbody>
  28. </table>


Powyższy kod działa bardzo dobrze póki jest coś do wypisania z bazy danych.
Gdy nie ma żadnego rekordu o terminie zlecenia to wiadomo - nie wypisuje nic, ALE zostawia mi napisy "Nazwa" i "Termin" co wizualnie nie wygląda najlepiej.
Te napisy jak widać są poza skryptem php, próbowałem na dziesiątki sposobów to włożyć w tą pętlę ale bez skutku.
Krótko mówiąc chciałbym aby jeśli nie było żadnego rekordu w bazie nie pokazywało napisów "Nazwa" i "Termin".

Czy można liczyć na jakąś podpowiedź ?
Arcioch
Może tak smile.gif

  1. <? $query = mysql_query("select * FROM zadania WHERE login='$myusername' ORDER BY id"); //Pobieranie każdego rekordu z datą "do"
  2. if(count(mysql_fetch_array($query)) > 0){
  3. ?>
  4. <table>
  5. <thead>
  6. <tr></tr>
  7. <tr>
  8. <th>Nazwa</th>
  9. <th>Termin</th>
  10. </tr>
  11. </thead>
  12. <tbody>
  13. <?php
  14.  
  15. while($rekord = mysql_fetch_array($query))
  16. {
  17. $data = $rekord[9];
  18. $aktualnadata = date("Y-m-d"); //Pobiera aktualną datę w formie rok/miesiąc/dzień
  19. $przypomnienie = (strtotime($data) - strtotime($aktualnadata)) / (60*60*24); //strtotime() - data w sekundach którą trzeba podzielic przez sekundy w minucie 60 - minuty w godzinie 60 i godziny w dobie 24
  20. if($przypomnienie >= "1") //Warunek sprawdzający czy minął termin zlecenia
  21. {
  22. echo '<tr><td><a>Termin zlecenia <b>'.$rekord[1].'</b> mija za</td> <td><a style ="color: red;">'.$przypomnienie.' dni</a></a></td></tr>';
  23. }
  24. else
  25. {
  26. echo '<tr><td><a>Termin zlecenia <b>'.$rekord[1].'</b> upłynął dnia </td> <td><a style ="color: red;">'.$rekord[9].'</a></a></td></tr>';
  27. }
  28. }
  29. ?>
  30. </tbody>
  31. </table>
  32. <?
  33. }
  34. ?>


Zliczasz czy ilość wyników jest większa od zera i dopiero potem wyświetlasz smile.gif
plove
Niestety, nadal te dwa napisy są wyświetlane... :/
franki01
  1. <? $query = mysql_query("select * FROM zadania WHERE login='$myusername' ORDER BY id"); //Pobieranie każdego rekordu z datą "do"
  2. if(mysql_num_rows($query) > 0){
  3. ?>
  4. <table>
  5. <thead>
  6. <tr></tr>
  7. <tr>
  8. <th>Nazwa</th>
  9. <th>Termin</th>
  10. </tr>
  11. </thead>
  12. <tbody>
  13. <?php
  14.  
  15. while($rekord = mysql_fetch_array($query))
  16. {
  17. $data = $rekord[9];
  18. $aktualnadata = date("Y-m-d"); //Pobiera aktualną datę w formie rok/miesiąc/dzień
  19. $przypomnienie = (strtotime($data) - strtotime($aktualnadata)) / (60*60*24); //strtotime() - data w sekundach którą trzeba podzielic przez sekundy w minucie 60 - minuty w godzinie 60 i godziny w dobie 24
  20. if($przypomnienie >= "1") //Warunek sprawdzający czy minął termin zlecenia
  21. {
  22. echo '<tr><td><a>Termin zlecenia <b>'.$rekord[1].'</b> mija za</td> <td><a style ="color: red;">'.$przypomnienie.' dni</a></a></td></tr>';
  23. }
  24. else
  25. {
  26. echo '<tr><td><a>Termin zlecenia <b>'.$rekord[1].'</b> upłynął dnia </td> <td><a style ="color: red;">'.$rekord[9].'</a></a></td></tr>';
  27. }
  28. }
  29. ?>
  30. </tbody>
  31. </table>
  32. <?
  33. }
  34. else
  35. {
  36. echo 'Brak pozycji do wyświetlenia';
  37. }
  38. ?>


Nieco poprawiony skrypt przedmówcy.
plove
Super dzięki już wiem gdzie leżał błąd.
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.