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 26.07.2010, 07:55:40
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 26.07.2010, 09:20:03
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 worriedsmiley.gif
Ale bez kodu to nie wiem czy ci toś poda odpowiedź worriedsmiley.gif
Go to the top of the page
+Quote Post
Ramzaa
post 26.07.2010, 09:39:48
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 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 26.07.2010, 10:04:22
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 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 rolleyes.gif tak mi się wydaje winksmiley.jpg
Go to the top of the page
+Quote Post
Ramzaa
post 26.07.2010, 10:18:07
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.. sad.gif
Go to the top of the page
+Quote Post
dg2001
post 26.07.2010, 10:31:32
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 biggrin.gif
Go to the top of the page
+Quote Post
Ramzaa
post 26.07.2010, 10:41:44
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 26.07.2010, 13:20:58
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']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 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 26.07.2010, 13:21:28
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 26.07.2010, 13:24:11
Post #10





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

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


Proszę winksmiley.jpg
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: 13.07.2025 - 00:29