Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie komentarzy
Forum PHP.pl > Forum > PHP
jarek0203
Witam. Pisze blog i mam problem. Mam już napisane dodawanie komentarzy i wyświetlanie oraz dodawanie postów i wyświetlanie. Aktualnie działa mi tak ze każdy komentarz wyświetla się pod każdym postem a w bazie mam poprawnie tzn(każdy kom ma przypisany id 1 posta)

Ma ktoś pomysł jak to zapętlić żeby odpowiedni komentarz wyświetlał się pod swoim postem?
Pozdrawiam
  1. //---------------laczenie z baza
  2.  
  3. @mysql_connect("localhost","root","linkin11","mysql")
  4. or die('Błąd - Nie połączono z Bazą Danych - prawdopodobnie podałeś złe Dane.');
  5. @mysql_select_db("mysql")
  6. or die('Błąd - Nie wybrano bazy danych - prawdopodobnie podałeś złe Dane.');
  7. //---------------dodawanie postow
  8.  
  9. $post = $_POST['post'];
  10. if(empty($post))
  11. {
  12. echo '<form action="" method="post">
  13. <textarea name="post" /*onfocus="if
  14. (this.value == \'Treść postu...\') { this.value = \'\'; }" onblur="if(this.value==\'\')
  15. { this.value=\'Treść postu...\'; }">postu...</textarea><br>
  16. <input type="submit" value="Wyślij post"></form>' ;
  17.  
  18. }
  19. else
  20. {
  21. $dodaj_post = mysql_query("INSERT INTO posty (id_post,post) VALUES ('', '$post')");
  22. if($dodaj_post == true)
  23. {echo("Komentarz został dodany<br><br>"); }
  24. else
  25. {echo("Komentarz nie został dodany<br><br>");}
  26. }
  27.  
  28. ?>
  29. </div>
  30.  
  31. <div id="glowna">
  32. <?php
  33.  
  34. //-----------------wyswietlanie postow
  35.  
  36. $wyswietl_posty = mysql_query("SELECT * FROM posty order by id_post DESC LIMIT 500");
  37. while($pokaz = mysql_fetch_array($wyswietl_posty))
  38. {
  39. $id_post= $pokaz['id_post'];
  40. $id_post_pl = htmlentities($id_post, ENT_COMPAT, "UTF-8");
  41. $post=$pokaz['post'] ;
  42. $post_pl= htmlentities($post, ENT_COMPAT, "UTF-8");
  43. echo "<b>$id_post</b>,Admin napisał:<br>$post_pl<br><br>";
  44. //----------------wyswietlanie komentarzy
  45.  
  46. $wyswietl_komentarze = mysql_query("SELECT * FROM komentarze order by nr DESC LIMIT 500");
  47. while($pokaz_k = mysql_fetch_array($wyswietl_komentarze))
  48. {
  49.  
  50. $id_p = $pokaz_k['id_p'];
  51. $id_p_pl = htmlentities($id_p, ENT_COMPAT, "UTF-8");
  52. $komentarz = $pokaz_k['komentarz'];
  53. $komentarz_pl = htmlentities($komentarz, ENT_COMPAT, "UTF-8");
  54. echo "<b>$id_p</b>, napisał:<br>$komentarz_pl<br><br>";
  55. }
  56. //----------------wyswkom----------------------
  57. //-------------dodawanie komentarzy
  58.  
  59. $komentarz = $_POST['komentarz'];
  60. if(empty($komentarz))
  61. {
  62. echo $id_post;
  63. echo '<form action="" method="post">
  64. <textarea name="komentarz" /*onfocus="if
  65. (this.value == \'Treść komentarza...\') { this.value = \'\'; }" onblur="if(this.value==\'\')
  66. { this.value=\'Treść komentarza...\'; }">Treść komentarza...</textarea><br>
  67. <input type="submit" value="Wyślij komentarz"></form>' ;
  68.  
  69. }
  70. else
  71. {
  72. $dodaj_komentarz = mysql_query("INSERT INTO komentarze (nr,id_p,komentarz) VALUES ('', '$id_post', '$komentarz')");
  73. if($dodaj_komentarz == true)
  74. {echo("Komentarz został dodany<br><br>");
  75. echo $id_post; }
  76. else
  77. {echo("Komentarz nie został dodany<br><br>");}
  78. }
  79. //----------------dodkom--------------------
Michael2318
Nie rozumiem Cię, przecież jak wyświetlasz konkretny post/wpis to masz zarazem jego ID, więc co za problem wykonwać zapytanie:
  1. SELECT * FROM `komentarze` WHERE post_id = $id_obecnego_postu


questionmark.gif
jarek0203
Działa:) Nie wiedziałem ze to aż takie proste. Dziękuje za pomoc:)
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.