Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sprawdzanie czy rekord istnieje z MySQL
Forum PHP.pl > Forum > PHP
Hirons
Witam. Męczę się dziś z tym cały dzień. Proszę o pomoc w tym żeby sprawdzało czy news taki istnieje, jeżeli tak to żeby go wypisywało a jeżeli nie żeby pokazywało komunikat "Brak newsa o tym ID".

index.php
  1. <?php
  2.  
  3. if(isset($_GET['id_news']))
  4. {
  5. include('../../config.php');
  6. include(ROOT . '/system/head.php');
  7.  
  8. $id = $_GET['id_news'];
  9. $sql = $db -> db_query("SELECT * FROM " . DB_PREFIX . "news WHERE id = '$id'");
  10. $sql = $db -> db_result();
  11. foreach($sql as $page) {
  12. $tresc .= "<h2>".stripslashes($page['title'])." </h2><small>".stripslashes($page['date'])."</small><br/>".stripslashes($page['news'])."<br/><br>";
  13.  
  14. }
  15. include(ROOT . '/system/foot.php');
  16.  
  17. } else
  18. {
  19.  
  20. $sql = $db -> db_query("SELECT * FROM " . DB_PREFIX . "news ORDER BY id DESC");
  21. $sql = $db -> db_result();
  22.  
  23. $tresc = 'Brak';
  24. foreach($sql as $page) {
  25. $tresc.= "<a href='".URL."/modules/news/news.php?id=".stripslashes($page['id'])."'><h2>".stripslashes($page['title'])." </h2></a>
  26. <small>".stripslashes($page['date'])."</small><br/>
  27. ".stripslashes($page['news'])."<br/><br/>";
  28.  
  29. }
  30.  
  31. }
  32.  
  33. ?>


Plik news.php
  1. <?php
  2. if(isset($_GET['id']))
  3. {
  4. include('../../config.php');
  5. include(ROOT . '/system/head.php');
  6.  
  7. if(is_numeric($_GET['id']))
  8. {
  9. $id = $_GET['id'];
  10. $sql = $db -> db_query("SELECT * FROM " . DB_PREFIX . "news WHERE id = '$id'");
  11.  
  12. $rows = $db -> db_rows();
  13. $sql = $db -> db_result();
  14. $sql = $sql['0'];
  15.  
  16.  
  17. if($rows > 0)
  18. {
  19. $contitle = stripslashes($sql['title']);
  20. $context = stripslashes($sql['news']);
  21. $date = stripslashes($sql['date']);
  22.  
  23.  
  24. //*wyswietlanie newsa
  25.  
  26.  
  27. $tresc .= "
  28. <h2>$contitle</h2>
  29. <small>$date</small><br />
  30. $context<br />
  31. ";
  32.  
  33. $sql = $db -> db_query("SELECT * FROM " . DB_PREFIX . "komentarze WHERE id_news = '$id'");
  34.  
  35. $rows = $db -> db_rows();
  36. $sql = $db -> db_result();
  37. $sql = $sql['0'];
  38. if($rows > 0)
  39. {
  40. $komautor = stripslashes($sql['autor']);
  41. $komdata = stripslashes($sql['data']);
  42. $komtresc = stripslashes($sql['tresc']);
  43.  
  44. foreach($sql as $page) {
  45.  
  46. $tresc .= "$komautor - $komdata <br/> $komtresc <hr>";
  47. }
  48. } else
  49. {
  50. $tresc .= "<hr><p>Brak komentarzy</p>";
  51. }
  52. $tresc .= "<a href='komentarz.php?id_news=$id'>[Dodaj komentarz]</a>";
  53. include(ROOT . '/system/foot.php');
  54. }
  55.  
  56. }
  57. else
  58. {
  59.  
  60. }
  61.  
  62. }
  63. else
  64. {
  65. ?>
  66. <meta http-equiv="refresh" content="0; url=<?php header("Location: ../../");?>">
  67. <?php
  68. }
  69.  
  70. ?>
  71.  
  72.  


Proszę o pomoc. Pozdrawiam.
Crozin
Po prostu próbujesz pobrać rekord o danym ID. Jeżeli zapytanie nie zwróci Ci żadnego rekordu to wyświetlasz komunikat o braku newsa.
Hirons
Ok dziękuję. Już sobie poradziłem:

  1. $sql = $db -> db_query("SELECT * FROM " . DB_PREFIX . "news ORDER BY id DESC");
  2. $rows = $db -> db_rows();
  3. $sql = $db -> db_result();
  4.  
  5. if ($rows > 0){
  6. foreach($sql as $page) {
  7. $tresc.= "<a href='".URL."/modules/news/news.php?id=".stripslashes($page['id'])."'><h2>".stripslashes($page['title'])." </h2></a>
  8. <small>".stripslashes($page['date'])."</small><br/>
  9. ".stripslashes($page['news'])."<br/><br/>";}
  10. }
  11. else
  12. {
  13. $tresc .= 'Brak newsow';
  14. }
Quantum
jeżeli zależy Ci na wydajności to lepszym sposobem będzie funkcja count() po stronie zapytania
deniol13
  1. SELECT COUNT(co_liczyc) FROM tabela;
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.