Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Poprawne wyświetlanie napisów
plove
post 27.04.2013, 17:36:26
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 26.04.2013

Ostrzeżenie: (0%)
-----


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ź ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Arcioch
post 27.04.2013, 17:55:08
Post #2





Grupa: Zarejestrowani
Postów: 324
Pomógł: 110
Dołączył: 18.09.2012

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
plove
post 27.04.2013, 18:17:40
Post #3





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 26.04.2013

Ostrzeżenie: (0%)
-----


Niestety, nadal te dwa napisy są wyświetlane... :/
Go to the top of the page
+Quote Post
franki01
post 28.04.2013, 13:30:16
Post #4





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


  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.
Go to the top of the page
+Quote Post
plove
post 28.04.2013, 13:56:18
Post #5





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 26.04.2013

Ostrzeżenie: (0%)
-----


Super dzięki już wiem gdzie leżał błąd.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 16:19