Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyswietlanie komentarzy, w systemie newsow...
SoulRipper
post
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 15.03.2003
Skąd: lodz

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


Witam

Majac ostatnio nieco wolnego czasu postanowilem zabrac sie za swoj system newsow oparty na mysql.Wszystko przebiegalo bez problemu do momentu kiedy musialem napisac fragment kodu odpowiedzialny za wyswietlanie komentarzy do newsow.

tabela w ktorej sa zapisywane rekordy z komentarzami wyglada tak:

| ID | ID_NEWSA | AUTOR | TEXT | MAIL | DATA |
| | | | | | |

problem polega na tym ze gdy probuje pobrac komentarze i wyswietlic je,
wyswietlanu jest tylko pierwszy komentarz(z 4 roznych komentarzy o tym samym "id_newsa") 4-krotnie

zapytanie odbywa sie przez :

  1. <?php
  2.  
  3. $query = mysql_query(&#092;" SELECT * FROM comment where id_newsa = '$id_newsa'\");
  4.  
  5. ?>


nastepnie komentarze sa wyswietlane za pomoca funkcji: mysql_fetch_array().

Mam nadzieje, ze wystarczajaco objasnilem problem, i ze bedziecie w stanie mi pomoc.

Z gory dzieki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SoulRipper
post
Post #2





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 15.03.2003
Skąd: lodz

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


  1. <?php
  2.  
  3.  
  4. include &#092;"../../code.php\";
  5. include &#092;"conf.php\";
  6. con();
  7.  
  8. $id_newsa = $_GET['id'];
  9. $query = mysql_query(&#092;"select * from comment where id_newsa = '$id_newsa'\");
  10. $count = mysql_num_rows($query);
  11. $start = 0 ;
  12.  
  13. while($start<$count)
  14. {
  15. $start++;
  16.  $query1 = mysql_query(&#092;"select * from comment where id_newsa='$id_newsa'\");
  17.  $result = mysql_fetch_array($query1);
  18.  echo 
  19.  
  20. &#092;"<table width='400' border='1' align=center>
  21. <tr><td colspan=3>&nbsp;&nbsp;&nbsp;&nbsp;$result[4]</td></tr>
  22. <tr>
  23. <td height=50 width=100>$result[2]</td>
  24. <td width=100>$result[3]</td>
  25. <td width=200>$result[5]</td>
  26. </tr>
  27.  <BR>
  28.  
  29. </table>&#092;" ;
  30.  
  31. }
  32.  
  33.  
  34. /* dodanie komenta */ 
  35. echo &#092;"
  36. <form action='parse.php' method='post'>
  37. <input type='hidden' name='id_newsa' value='$id_newsa'>
  38. <table cellpadding='0' cellspacing='0' border='0' align='center' width='600' height='100'>
  39. <tr>
  40. <td height='50' align='right'>
  41. Autor:<BR>
  42. E-mail:
  43. </td>
  44. <td>
  45. <input type='text' name='autor' size='8'><BR>
  46. <input type='text' name='mail' size='8'>
  47. </td>
  48. </tr>
  49. <tr>
  50. <td valign='top' align='right'>
  51. Tresc:
  52. </td>
  53. <td>
  54. <textarea rows='5' cols='20' name='comment' ></textarea><BR>
  55. </td>
  56. </tr>
  57. <tr>
  58. <td>
  59. </td>
  60. <td height='50'>
  61. <input type='submit' name='dodaj' value='Dodaj'>
  62. </td>
  63.  
  64. </tr>
  65. </table>
  66. </form>
  67. &#092;";
  68.  
  69. ?>


Prawdopodobnie przyczepicie sie do tego, wykonalem 2 identyczne zapytania.
1 query ma na celu pobranie ilosci rekordow z komentarzami do konkretnego newsa (id_newsa) poprzez mysql_num_rows. Pozniej zmienna zawierajaca licczbe wierszy ustala ile razy ma byc wykonana petla w ktorej jest zawarty kod wyswietlania poszczegolnych komentarzy.

Wprawdzie mam pomysl na rozwanie tego problemu poprzez dodanie jeszcze jeszcze jednej kolumny w tabeli z komentarzami do ktorej zapisywane bylyby
id komenta wzgledem konkretnego newsa(czyli jak dodano 2 komentarze to id_commenta wynosilby 2 ).Jednak nie chce tego robic bo to nie bylby sposob na nauke sql`a.Pewnie da sie to latwo i przyjemnie srobic niekoniecznie korzystajac z mysql_fetch_array();
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 8.10.2025 - 15:24