Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Logiczny problem z wyświetleniem rekordu, Proszę o pomoc.
Ramzaa
post
Post #1





Grupa: Zarejestrowani
Postów: 207
Pomógł: 17
Dołączył: 4.08.2009

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


Już mnie to dobija, siedzę nad tym drugi dzień i ciągle nie mam pomysłu jak zrobić, żeby wyświetlało ilość postów, oczywiście z bazy danych mysql. Dodawać dodaje pięknie, wyświetlić co prawda wiem jak, ale tylko w profilu użytkownika (piszę skrypt forum), bo tam w warunku WHERE daje $user_login, gdzie $user_login to po prostu $_GET['name]. Teraz jak zrobić, żeby wyświetlało się to w odpowiedziach, zaraz pod loginem użytkownika?

Tabela uzytkownicy wygląda tak:

Cytat
id | name | password | date_join | grupa | posts


Mam nadzieję, że mnie zrozumieliście. Pozdrawiam.
Go to the top of the page
+Quote Post
dg2001
post
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 12
Dołączył: 9.01.2008
Skąd: Olkusz

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


Hmmm... przydała by się jeszcze baza gdzie są trzymane te posty, bo tak z nieba to mogę pod swoje zrobić, ale jeżeli masz w tabeli gdzie są posty zawarte jakiś element gdzie łączy te dwie tabele, np ID_USERA, lub USER_NAME to ja bym zrobił tak:

  1. $sql = mysql_query("SELECT id FROM tabela_z_postami WHERE id_user = '".$jakis_user."' "); //zamisat id_user możesz dać co innego w zależności jak masz kod
  2. $ile = mysql_num_rows($sql);
  3.  
  4. echo 'User: Admin ble ble ble -> ilość postów: '.$ile;


Chyba ze chodzi ci o coś innego (IMG:style_emoticons/default/worriedsmiley.gif)
Ale bez kodu to nie wiem czy ci toś poda odpowiedź (IMG:style_emoticons/default/worriedsmiley.gif)
Go to the top of the page
+Quote Post
Ramzaa
post
Post #3





Grupa: Zarejestrowani
Postów: 207
Pomógł: 17
Dołączył: 4.08.2009

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


Cytat(dg2001 @ 26.07.2010, 10:20:03 ) *
//zamisat id_user możesz dać co innego w zależności jak masz kod


No właśnie chodzi o to (IMG:style_emoticons/default/biggrin.gif)

Wybacz, że nie dodałem skryptu;

  1. <?php
  2.  
  3. include ('baza.php');
  4. include ('functions.php');
  5.  
  6. $id = $_GET['id'];
  7.  
  8. $wiersze = mysql_query("SELECT * FROM `tematy` WHERE `id`='$id'");
  9.  
  10. switch($_GET['value'])
  11. {
  12.  
  13. case 'save':
  14.  
  15. $edit_temat = $_POST['edit_temat'];
  16. $edit_opis = $_POST['edit_opis'];
  17. $edit_post_reply = $_POST['edit_post_reply'];
  18.  
  19. mysql_query("UPDATE `tematy` SET `temat`, `opis` = '$edit_temat', '$edit_opis'");
  20.  
  21.  
  22. break;
  23.  
  24. case 'add':
  25.  
  26. $idt = $wiersz['id'];
  27.  
  28. $autor_reply = $_SESSION['login'];
  29. $reply = $_POST['post_reply'];
  30. $date_reply = date("d.m.Y H:i:s");
  31. echo $date_reply;
  32.  
  33. $odp = mysql_query("INSERT INTO odpowiedzi (id_thread, date_reply, autor_reply, post_reply) VALUES ('$id', now(), '$autor_reply', '$reply')");
  34. $log_user = $_SESSION['login'];
  35.  
  36. $post_user = mysql_fetch_array(mysql_query("SELECT `posts` FROM `uzytkownicy` WHERE `name` = '$log_user'"));
  37.  
  38. $post_user = $post_user[0];
  39.  
  40. $post_user++;
  41.  
  42. echo $post_user;
  43.  
  44.  
  45. mysql_query("UPDATE `uzytkownicy` SET `posts` = '$post_user' WHERE `name`='$log_user'");
  46.  
  47.  
  48. echo ("Poprawnie dodałeś wiadomość!<br /><a href=\"index.php?action=thread&id=$id\">Przejdź do tematu</a>");
  49.  
  50.  
  51.  
  52. break;
  53. default;
  54.  
  55. while ($wiersz = mysql_fetch_assoc($wiersze))
  56. {
  57. switch($_GET['option'])
  58. {
  59.  
  60. case 'edit-thread':
  61.  
  62.  
  63.  
  64. echo ('<br /><br />Edytujesz wątek: '.$wiersz['temat'].'<br /><br />');
  65.  
  66. echo ('<form action="index.php?action=thread&id='.$id.'&option=edit-thread&value=save" method="POST">
  67.  
  68. <table border="0" width="100%">
  69.  
  70. <tr>
  71. <td valign="top" width="12%">Temat:</td>
  72. <td width="88%"><input type="text" name="edit_temat" size="60" value="'.$wiersz['temat'].'"></td>
  73. </tr>
  74.  
  75. <tr>
  76. <td>Opis tematu:</td>
  77. <td><input type="text" name="edit_opis" size="60" value="'.$wiersz['opis'].'"></td>
  78. </tr>
  79.  
  80. <tr>
  81. <td colspan="2"><textarea name="edit_post_reply" cols="60" rows="10">'.$wiersz['post'].'</textarea></td>
  82. </tr>
  83.  
  84. </table><br />
  85.  
  86. <input type="submit" value="Zapisz">
  87.  
  88. </form>');
  89.  
  90.  
  91. break;
  92.  
  93. case 'reply':
  94.  
  95. showPostReplyForm();
  96.  
  97. break;
  98. default;
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108. $autor_posta_reply = $wiersz['autor'];
  109. $poster = $wiersz['autor'];
  110.  
  111. $post_user = mysql_query("SELECT `posts` FROM `uzytkownicy` WHERE `name` = '$poster'");
  112.  
  113. while ($post = mysql_fetch_assoc($post_user))
  114. {
  115.  
  116.  
  117.  
  118. $user_name = "Mistrzu";
  119.  
  120. $zapytanie = mysql_query("SELECT * FROM `uzytkownicy` WHERE `name` = '$user_name'");
  121. $user_info = mysql_fetch_assoc($zapytanie);
  122.  
  123. ?>
  124.  
  125. | <a href="index.php?action=thread&id=<?php echo $id; ?>&option=reply">Odpowiedz</a><br /><br />
  126.  
  127. <table border="0" width="100%" cellspacing="1">
  128.  
  129. <tr>
  130. <td colspan="3" width="100%" style="border: 1px solid #000; background-color: #5684ae; padding: 5px; height: 40px;"><a href="index.php">Index</a> > <?php echo $wiersz['temat']; ?></td>
  131. </tr>
  132.  
  133. <tr style="background-color: #cfe2ff;">
  134. <td width="20%" valign="top"><a href="index.php?action=showprofile&name=<?php echo $wiersz['autor']; ?>"><?php echo $wiersz['autor']; ?></a><br /><br />Posty: <?php echo $user_info['posts']; ?><br />Dołączył: <?php echo $user_info['date_join']; ?></td>
  135. <td width="80%" valign="top" style="padding: 7px;"><?php echo nl2br($wiersz['post']); ?><br />
  136. <div style="text-align: right;"><a href="index.php?action=thread&id=<?php echo $wiersz['id']; ?>&option=edit-thread">Edytuj</a></td>
  137. </tr>
  138.  
  139. <tr style="background-color: #5684ae; padding: 5px; height: 13px;">
  140. <td colspan="2">Post: #ID</td>
  141. </tr>
  142.  
  143. <tr><td></td></tr>
  144.  
  145. <?php
  146.  
  147. $odpp = mysql_query("SELECT * FROM odpowiedzi WHERE `id_thread`='$id'");
  148.  
  149. while ($odpw = mysql_fetch_assoc($odpp))
  150. {
  151.  
  152. echo ('
  153.  
  154.  
  155. <tr><td colspan="2" style="background-color: #5684ae">Odpowiedź na: '.$wiersz['temat'].' | '.$odpw['date_reply'].'</td></tr>
  156.  
  157. <tr style="background-color: #cfe2ff;">
  158. <td width="20%" valign="top"><a href="index.php?action=showprofile&name='.$odpw['autor_reply'].'">'.$odpw['autor_reply'].'</a><br /><br />Posty: '.$user_info['posts'].'<br />Dołączył: '.$user_info['date_join'].'</td>
  159. <td width="80%" valign="top" style="padding: 7px;">'.nl2br($odpw['post_reply']).'<br /><br /></td>
  160. </tr>
  161.  
  162. <tr style="background-color: #5684ae; padding: 5px; height: 13px;">
  163. <td colspan="2">Post: #ID '.$odpw['id_thread'].'</td>
  164. </tr>
  165.  
  166. <tr><td></td></tr>
  167.  
  168. ');
  169.  
  170. }
  171.  
  172. ?>
  173.  
  174. </table>
  175.  
  176.  
  177.  
  178. <?php
  179.  
  180. }
  181. showPostReplyForm();
  182.  
  183. }
  184.  
  185.  
  186. }
  187.  
  188.  
  189.  
  190. }
  191.  
  192. ?>


Aha, nie patrzcie na bałagan w kodzie, no to, że niebezpieczny, itd, bo to wszystko idzie do poprawy.

Pozdrawiam.
Go to the top of the page
+Quote Post
dg2001
post
Post #4





Grupa: Zarejestrowani
Postów: 71
Pomógł: 12
Dołączył: 9.01.2008
Skąd: Olkusz

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


Hmm... faktycznie bałagan (IMG:style_emoticons/default/tongue.gif) ale okej nie o to chodzi.

Ale masz takie coś:
  1. $user_name = "Mistrzu";
  2.  
  3. $zapytanie = mysql_query("SELECT * FROM `uzytkownicy` WHERE `name` = '$user_name'");
  4. $user_info = mysql_fetch_assoc($zapytanie);

...
  1. <tr style="background-color: #cfe2ff;">
  2. <td width="20%" valign="top"><a href="index.php?action=showprofile&name='.$odpw['autor_reply'].'">'.$odpw['autor_reply'].'</a><br /><br />Posty: '.$user_info['posts'].'<br />Dołączył: '.['date_join'].'</td>
  3. <td width="80%" valign="top" style="padding: 7px;">'.nl2br($odpw['post_reply']).'<br /><br /></td>
  4. </tr>


Jeżeli się orientuję to w tym momencie chcesz wyłapywać ilość postów od danego usera, więc wydaje mi się ze w tym momencie możesz zliczyć ilość postów tego usera
  1. $user_name = "Mistrzu";
  2.  
  3. $zapytanie = mysql_query("SELECT * FROM `uzytkownicy` WHERE `name` = '$user_name'");
  4. $user_info = mysql_fetch_assoc($zapytanie);
  5. $sql = mysql_query("SELECT id FROM tabela_z_postami WHERE user = '".$user_info['name']."' ");
  6. $ile = mysql_num_rows($sql);


Wtedy będziesz miał w zmiennej $ile ilość postów napisał dany user (IMG:style_emoticons/default/rolleyes.gif) tak mi się wydaje (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Ramzaa
post
Post #5





Grupa: Zarejestrowani
Postów: 207
Pomógł: 17
Dołączył: 4.08.2009

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


Działa to co dałeś, ale pokazuje wszystkie posty autora tematu, bo w $user_name dałem:

  1. $user_name = $wiersz['autor'];


i kurcze nie wiem co dać tam, żeby pokazywało dobrze.. (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
dg2001
post
Post #6





Grupa: Zarejestrowani
Postów: 71
Pomógł: 12
Dołączył: 9.01.2008
Skąd: Olkusz

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


aaa... a ty chcesz aby się pokazywało ilość postów pod nazwą usera co napisał odpowiedź tak?

Więc w tym przypadku jak masz to:
  1. <?php
  2.  
  3. $odpp = mysql_query("SELECT * FROM odpowiedzi WHERE `id_thread`='$id'");
  4.  
  5. while ($odpw = mysql_fetch_assoc($odpp))
  6. {
  7.  
  8. echo ('
  9.  
  10.  
  11. <tr><td colspan="2" style="background-color: #5684ae">Odpowiedź na: '.$wiersz['temat'].' | '.$odpw['date_reply'].'</td></tr>
  12.  
  13. <tr style="background-color: #cfe2ff;">
  14. <td width="20%" valign="top"><a href="index.php?action=showprofile&name='.$odpw['autor_reply'].'">'.$odpw['autor_reply'].'</a><br /><br />Posty: '.$user_info['posts'].'<br />Dołączył: '.['date_join'].'</td>
  15. <td width="80%" valign="top" style="padding: 7px;">'.nl2br($odpw['post_reply']).'<br /><br /></td>
  16. </tr>
  17.  
  18. <tr style="background-color: #5684ae; padding: 5px; height: 13px;">
  19. <td colspan="2">Post: #ID '.$odpw['id_thread'].'</td>
  20. </tr>
  21.  
  22. <tr><td></td></tr>
  23.  
  24. ');
  25.  
  26. }
  27.  
  28. ?>

zaraz pod wpisz:
  1. $odpp = mysql_query("SELECT * FROM odpowiedzi WHERE `id_thread`='$id'");
  2.  
  3. while ($odpw = mysql_fetch_assoc($odpp)){
  4. $odp_autor_reply = mysql_query("SELECT id FROM tabela_z_postami WHERE user = '".$odpw['autor_reply']."' ");
  5. $ile = mysql_num_rows($sql);

Wtedy wyciągniesz sobie ilość postów dla danego usera co odpowiedział na wątek w forum, a nie tego co napisał temat (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Ramzaa
post
Post #7





Grupa: Zarejestrowani
Postów: 207
Pomógł: 17
Dołączył: 4.08.2009

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


Kurde, ja już nie myślę. Jak możesz to weź to wprowadź w ten kod, bo ja naprawdę dzisiaj coś lewy jestem.

  1. <?php
  2.  
  3. include ('baza.php');
  4. include ('functions.php');
  5.  
  6. $id = $_GET['id'];
  7.  
  8. $wiersze = mysql_query("SELECT * FROM `tematy` WHERE `id`='$id'");
  9.  
  10. switch($_GET['value'])
  11. {
  12.  
  13. case 'save':
  14.  
  15. $edit_temat = $_POST['edit_temat'];
  16. $edit_opis = $_POST['edit_opis'];
  17. $edit_post_reply = $_POST['edit_post_reply'];
  18.  
  19. mysql_query("UPDATE `tematy` SET `temat` = '$edit_temat', `opis` = '$edit_opis', `post` = '$edit_post_reply' WHERE `id` = '$id'");
  20.  
  21.  
  22. break;
  23.  
  24. case 'add':
  25.  
  26. $idt = $wiersz['id'];
  27.  
  28. $autor_reply = $_SESSION['login'];
  29. $reply = $_POST['post_reply'];
  30.  
  31. $odp = mysql_query("INSERT INTO odpowiedzi (id_thread, date_reply, autor_reply, post_reply) VALUES ('$id', now(), '$autor_reply', '$reply')");
  32. $log_user = $_SESSION['login'];
  33.  
  34. $post_user = mysql_fetch_array(mysql_query("SELECT `posts` FROM `uzytkownicy` WHERE `name` = '$log_user'"));
  35.  
  36. $post_user = $post_user[0];
  37.  
  38. $post_user++;
  39.  
  40. echo $post_user;
  41.  
  42.  
  43. mysql_query("INSERT INTO `tematy` (id, autor, date_thread, temat, opis, post) VALUES ('', now(), 'temat', 'opis', 'post' )");
  44.  
  45.  
  46. echo ("Poprawnie dodałeś wiadomość!<br /><a href=\"index.php?action=thread&id=$id\">Przejdź do tematu</a>");
  47.  
  48.  
  49.  
  50. break;
  51. default;
  52.  
  53. while ($wiersz = mysql_fetch_assoc($wiersze))
  54. {
  55. switch($_GET['option'])
  56. {
  57.  
  58. case 'edit-thread':
  59.  
  60. echo ('<br /><br />Edytujesz wątek: '.$wiersz['temat'].'<br /><br />');
  61.  
  62. echo ('<form action="index.php?action=thread&id='.$id.'&option=edit-thread&value=save" method="POST">
  63.  
  64. <table border="0" width="100%">
  65.  
  66. <tr>
  67. <td valign="top" width="12%">Temat:</td>
  68. <td width="88%"><input type="text" name="edit_temat" size="60" value="'.$wiersz['temat'].'"></td>
  69. </tr>
  70.  
  71. <tr>
  72. <td>Opis tematu:</td>
  73. <td><input type="text" name="edit_opis" size="60" value="'.$wiersz['opis'].'"></td>
  74. </tr>
  75.  
  76. <tr>
  77. <td colspan="2"><textarea name="edit_post_reply" cols="60" rows="10">'.$wiersz['post'].'</textarea></td>
  78. </tr>
  79.  
  80. </table><br />
  81.  
  82. <input type="submit" value="Zapisz">
  83.  
  84. </form>');
  85.  
  86.  
  87.  
  88.  
  89. break;
  90.  
  91. case 'reply':
  92.  
  93. showPostReplyForm();
  94.  
  95. break;
  96. default;
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106. $autor_posta_reply = $wiersz['autor'];
  107. $poster = $wiersz['autor'];
  108.  
  109. $post_user = mysql_query("SELECT `posts` FROM `uzytkownicy` WHERE `name` = '$poster'");
  110.  
  111. while ($post = mysql_fetch_assoc($post_user))
  112. {
  113.  
  114.  
  115.  
  116.  
  117. ?>
  118.  
  119. | <a href="index.php?action=thread&id=<?php echo $id; ?>&option=reply">Odpowiedz</a><br /><br />
  120.  
  121. <table border="0" width="100%" cellspacing="1">
  122.  
  123. <tr>
  124. <td colspan="3" width="100%" style="border: 1px solid #000; background-color: #5684ae; padding: 5px; height: 40px;"><a href="index.php">Index</a> > <?php echo $wiersz['temat']; ?></td>
  125. </tr>
  126.  
  127. <tr style="background-color: #cfe2ff;">
  128. <td width="20%" valign="top"><a href="index.php?action=showprofile&name=<?php echo $wiersz['autor']; ?>"><?php echo $wiersz['autor']; ?></a><br /><br />Posty: <?php echo $user_info['posts']; ?><br />Dołączył: <?php echo $user_info['date_join']; ?></td>
  129. <td width="80%" valign="top" style="padding: 7px;"><?php echo nl2br($wiersz['post']); ?><br />
  130. <div style="text-align: right; padding-right: 10px;"><?php if ($_SESSION['login']==$wiersz['autor']) { ?><a href="index.php?action=thread&id=<?php echo $wiersz['id']; ?>&option=edit-thread">Edytuj</a><?php } ?></td>
  131. </tr>
  132.  
  133. <tr style="background-color: #5684ae; padding: 5px; height: 13px;">
  134. <td colspan="2">Post: #ID</td>
  135. </tr>
  136.  
  137. <tr><td></td></tr>
  138.  
  139. <?php
  140.  
  141. $odpp = mysql_query("SELECT * FROM odpowiedzi WHERE `id_thread`='$id'");
  142.  
  143. while ($odpw = mysql_fetch_assoc($odpp))
  144. {
  145.  
  146.  
  147. $odp_autor_reply = mysql_query("SELECT id FROM `uzytkownicy` WHERE `name` = '".$odpw['autor_reply']."' ");
  148. $ile = mysql_num_rows($odp_autor_reply);
  149.  
  150.  
  151. echo $odpw['posts'];
  152.  
  153. echo ('
  154.  
  155.  
  156. <tr><td colspan="2" style="background-color: #5684ae">Odpowiedź na: '.$wiersz['temat'].' | '.$odpw['date_reply'].'</td></tr>
  157.  
  158. <tr style="background-color: #cfe2ff;">
  159. <td width="20%" valign="top"><a href="index.php?action=showprofile&name='.$odpw['autor_reply'].'">'.$odpw['autor_reply'].'</a><br /><br />Posty: '.$user_info['posts'].'<br />Dołączył: '.$user_info['date_join'].'</td>
  160. <td width="80%" valign="top" style="padding: 7px;">'.nl2br($odpw['post_reply']).'<br /><br /></td>
  161. </tr>
  162.  
  163. <tr style="background-color: #5684ae; padding: 5px; height: 13px;">
  164. <td colspan="2">Post: #ID '.$odpw['id_thread'].'</td>
  165. </tr>
  166.  
  167. <tr><td></td></tr>
  168.  
  169. ');
  170.  
  171. }
  172.  
  173. ?>
  174.  
  175. </table>
  176.  
  177.  
  178.  
  179. <?php
  180.  
  181. }
  182. showPostReplyForm();
  183.  
  184. }
  185.  
  186.  
  187. }
  188.  
  189.  
  190.  
  191. }
  192.  
  193.  
  194.  
  195. ?>


Będę bardzo wdzięczny.
Go to the top of the page
+Quote Post
dg2001
post
Post #8





Grupa: Zarejestrowani
Postów: 71
Pomógł: 12
Dołączył: 9.01.2008
Skąd: Olkusz

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


Przerobiłem sobie ten twój kod tak aby był bardziej czytelny dla mnie, i trochę masz tam kaszane, nie do końca wiem jak ci pomóc z tego co przeanalizowałem sobie to w kodzie masz takie coś (poniżej) odpowiedzialne za wyświetlanie odpowiedzi dla danego tematu:
  1. <?php
  2. $odpp = mysql_query("SELECT * FROM odpowiedzi WHERE `id_thread`='$id'");
  3. while ($odpw = mysql_fetch_assoc($odpp)) {
  4. echo ('
  5. <tr><td colspan="2" style="background-color: #5684ae">Odpowiedź na: '.$wiersz['temat'].' | '.$odpw['date_reply'].'</td></tr>
  6. <tr style="background-color: #cfe2ff;">
  7. <td width="20%" valign="top"><a href="index.php?action=showprofile&name='.$odpw['autor_reply'].'">'.$odpw['autor_reply'].'</a><br /><br />Posty: '.$user_info['posts'].'<br />Dołączył: '.$user_info['date_join'].'</td>
  8. <td width="80%" valign="top" style="padding: 7px;">'.nl2br($odpw['post_reply']).'<br /><br /></td>
  9. </tr>
  10. <tr style="background-color: #5684ae; padding: 5px; height: 13px;">
  11. <td colspan="2">Post: #ID '.$odpw['id_thread'].'</td>
  12. </tr>
  13. <tr><td></td></tr>
  14. ');
  15. }
  16. ?>


Tutaj próbujesz pobrać informacje na temat usera który dodał odpowiedz do tematu poprzez zmienne $user_info['posts'], jednak z tego co wyżej wynika, to pobierasz je dla usera $user_name = "Mistrzu". Jeżeli on jest tym co odpowiedział a nie jest on osobą zalogowaną ($log_user = $_SESSION['login'](IMG:style_emoticons/default/winksmiley.jpg) to w tym momencie kiedy pobierasz z tabeli 'uzytkownicy' jego dane powinieneś dodać polecenie wyszukujące w bazie jego posty, jednak tu też się pojawia problem, gdyż z tego co zauważyłem masz 2 tablice, tablice gdzie są trzymane ogólnie tematy (czyli: 'tematy') oraz tabele gdzie są trzymane odpowiedzi (czyli: 'odpowiedzi').

W takim przypadku aby zliczyć łączną sumę jego postów w tabeli 'tematy' i 'odpowiedzi' musisz zrobić zapytanie łączące czyli:
  1. $zapytanie = mysql_query("SELECT id FROM 'tematy', 'odpowiedzi' WHERE 'name' = '$user_name'");
  2. $ile = mysql_num_rows($zapytanie);


Ale tak jak piszę ciężko dojść do tego co i jak jest w kodzie, ewentualnie nanieś komentarze gdzie dokładnie ma się znaleźć ta ilość postów tego danego usera.

Po jeszcze bardziej wnikliwej analizie poniżej masz kod, co powinien ci policzyć to co chcesz (IMG:style_emoticons/default/winksmiley.jpg)

  1. <?php
  2. include ('baza.php');
  3. include ('functions.php');
  4.  
  5. $id = $_GET['id'];
  6. $wiersze = mysql_query("SELECT * FROM tematy WHERE id='".$id."'");
  7. while ($wiersz = mysql_fetch_assoc($wiersze)){
  8. //$autor_posta_reply = $wiersz['autor']; //to tez nie wiem po co, zawsze można użyć odwołania do $wiersz['autor']
  9. //$poster = $wiersz['autor']; //to tez nie wiem po co, zawsze można użyć odwołania do $wiersz['autor']
  10.  
  11. //pobieranie danych na temat autora postu
  12. $user_wierszSql = mysql_query("SELECT * FROM uzytkownicy WHERE name = '".$wiersz['autor']."' ");
  13.  
  14. //tu nie musisz wrzucać tego w pętle while gdyż i tak wybierze ci 1 pozycje, chyba że dopuszczasz możliwość 2 autorów o tym samej nazwie
  15. $user_wierszDane = mysql_fetch_assoc($user_wierszSql);
  16. $ile_postow1 = mysql_query("SELECT * FROM tematy WHERE autor = '".$user_wierszDane['name']."' ");
  17. $ile_postow2 = mysql_query("SELECT * FROM odpowiedzi WHERE autor_reply = '".$user_wierszDane['name']."' ");
  18. $suma_postow = mysql_num_rows($ile_postow1) + mysql_num_rows($ile_postow2);
  19. ?>
  20. | <a href="index.php?action=thread&id=<?php echo $id; ?>&option=reply">Odpowiedz</a><br /><br />
  21. <table border="0" width="100%" cellspacing="1">
  22. <tr>
  23. <td colspan="3" width="100%" style="border: 1px solid #000; background-color: #5684ae; padding: 5px; height: 40px;"><a href="index.php">Index</a> > <?php echo $wiersz['temat']; ?></td>
  24. </tr>
  25. <tr style="background-color: #cfe2ff;">
  26. <td width="20%" valign="top"><a href="index.php?action=showprofile&name=<?php echo $user_wierszDane['name']; ?>"><?php echo $user_wierszDane['name']; ?></a><br /><br />Posty: <?php echo $suma_postow; ?><br />Dołączył: <?php echo $user_wierszDane['date_join']; ?></td>
  27. <td width="80%" valign="top" style="padding: 7px;"><?php echo nl2br($wiersz['post']); ?><br />
  28. <div style="text-align: right;"><a href="index.php?action=thread&id=<?php echo $wiersz['id']; ?>&option=edit-thread">Edytuj</a></td>
  29. </tr>
  30. <tr style="background-color: #5684ae; padding: 5px; height: 13px;">
  31. <td colspan="2">Post: #ID</td>
  32. </tr>
  33. <tr><td></td></tr>
  34. <?php
  35.  
  36. //odpowiedzi
  37. $odpp = mysql_query("SELECT * FROM odpowiedzi WHERE id_thread='$id'");
  38. while ($odpw = mysql_fetch_assoc($odpp)) {
  39. $user_odpSql = mysql_query("SELECT * FROM uzytkownicy WHERE name = '".$odpw['autor_reply']."' ");
  40. $user_odpDane = mysql_fetch_assoc($user_odpSql);
  41.  
  42. $ile_postow1 = mysql_query("SELECT * FROM tematy WHERE autor = '".$user_odpDane['name']."' ");
  43. $ile_postow2 = mysql_query("SELECT * FROM odpowiedzi WHERE autor_reply = '".$user_odpDane['name']."' ");
  44. $suma_postow = mysql_num_rows($ile_postow1) + mysql_num_rows($ile_postow2);
  45.  
  46. echo '<tr><td colspan="2" style="background-color: #5684ae">Odpowiedź na: '.$wiersz['temat'].' | '.$odpw['date_reply'].'</td></tr>
  47. <tr style="background-color: #cfe2ff;">
  48. <td width="20%" valign="top"><a href="index.php?action=showprofile&name='.$user_odpDane['name'].'">'.$user_odpDane['name'].'</a><br /><br />Posty: '.$suma_postow.'<br />Dołączył: '.$user_odpDane['date_join'].'</td>
  49. <td width="80%" valign="top" style="padding: 7px;">'.nl2br($odpw['post_reply']).'<br /><br /></td>
  50. </tr>
  51. <tr style="background-color: #5684ae; padding: 5px; height: 13px;">
  52. <td colspan="2">Post: #ID '.$odpw['id_thread'].'</td>
  53. </tr>
  54. <tr><td></td></tr>
  55. ';
  56. }
  57. ?>
  58. </table>
  59. <?php
  60.  
  61. showPostReplyForm();
  62. }
  63. ?>
Go to the top of the page
+Quote Post
Ramzaa
post
Post #9





Grupa: Zarejestrowani
Postów: 207
Pomógł: 17
Dołączył: 4.08.2009

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


Kurde, człowieku - jesteś wielki. Tyle się z tym męczyłem, że nawet nie chcę mówić.
Oczywiście "pomógł" wędruje do Ciebie. Jeszcze raz dzięki.
Go to the top of the page
+Quote Post
dg2001
post
Post #10





Grupa: Zarejestrowani
Postów: 71
Pomógł: 12
Dołączył: 9.01.2008
Skąd: Olkusz

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


Proszę (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

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: 15.09.2025 - 20:50