Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> SMF 2.0 (RC5) własne zapytanie do mysql (SSI.php)
Giluś
post 8.09.2011, 16:05:26
Post #1





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Cześć, wie ktoś może jak zrobić własne zapytanie do mysql w skrypcie forum: SMF 2.0 RC5, próbuje zrobić dodatkową podstronę w tym celu używam SSI.php, tak wygląda kod podstrony:

  1. <?php
  2. require('/homepages/1/SSI.php');
  3. lol();
  4. ?>


A tak wygląda moja funkcja:
  1. function lol($output_method = 'lol')
  2. {
  3. global $context, $txt, $scripturl;
  4.  
  5. if ($output_method == 'lol')
  6. {
  7. if ($context['user']['is_guest'])
  8. echo "Czesc gościu";
  9. else
  10. $wynik = mysql_query("SELECT * FROM smf_members WHERE member_name='Gilus'") or die('Błąd zapytania');
  11.  
  12.  
  13. if(mysql_num_rows($wynik) > 0) {
  14. while($r = mysql_fetch_assoc($wynik)) {
  15. echo "".$r['posts']."";
  16. }
  17. }
  18.  
  19.  
  20. }
  21. else
  22. return $context['user'];
  23. }


Jest ona przeróbką:

  1. function ssi_welcome($output_method = 'echo')
  2. {
  3. global $context, $txt, $scripturl;
  4.  
  5. if ($output_method == 'echo')
  6. {
  7. if ($context['user']['is_guest'])
  8. echo sprintf($txt['welcome_guest'], $txt['guest_title']);
  9. else
  10. echo $context['user']['name'];
  11. }
  12. // Don't echo... then do what?!
  13. else
  14. return $context['user'];
  15. }


I chciałbym wykonać zapytanie do mysql:
  1. $wynik = mysql_query("SELECT * FROM smf_members WHERE member_name='Gilus'") or die('Błąd zapytania');

Ale piszę: "Błąd zapytania", nie wiem co jest źle, nawet jak dam bez WHERE to tak samo jest błąd zapytania, ma ktoś może jakieś pomysły ?
Go to the top of the page
+Quote Post
Ruio
post 8.09.2011, 18:42:51
Post #2





Grupa: Zarejestrowani
Postów: 147
Pomógł: 9
Dołączył: 20.02.2009

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


Sprawdź jak są wykonywane inne zapytania w skrypcie i wzoruj się na nich wink.gif
Go to the top of the page
+Quote Post
Giluś
post 8.09.2011, 19:36:26
Post #3





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Tak mniej więcej wygląda topic:
  1. // Shows the top topics.
  2. function ssi_topTopics($type = 'replies', $num_topics = 10, $output_method = 'echo')
  3. {
  4. global $db_prefix, $txt, $scripturl, $user_info, $modSettings, $smcFunc, $context;
  5.  
  6. if ($modSettings['totalMessages'] > 100000)
  7. {
  8. // !!! Why don't we use {query(_wanna)_see_board}?
  9. $request = $smcFunc['db_query']('', '
  10. SELECT id_topic
  11. FROM {db_prefix}topics
  12. WHERE num_' . ($type != 'replies' ? 'views' : 'replies') . ' != 0' . ($modSettings['postmod_active'] ? '
  13. AND approved = {int:is_approved}' : '') . '
  14. ORDER BY num_' . ($type != 'replies' ? 'views' : 'replies') . ' DESC
  15. LIMIT {int:limit}',
  16. 'is_approved' => 1,
  17. 'limit' => $num_topics > 100 ? ($num_topics + ($num_topics / 2)) : 100,
  18. )
  19. );
  20. $topic_ids = array();
  21. while ($row = $smcFunc['db_fetch_assoc']($request))
  22. $topic_ids[] = $row['id_topic'];
  23. $smcFunc['db_free_result']($request);
  24. }
  25. else
  26. $topic_ids = array();
  27.  
  28. $request = $smcFunc['db_query']('', '
  29. SELECT m.subject, m.id_topic, t.num_views, t.num_replies
  30. FROM {db_prefix}topics AS t
  31. INNER JOIN {db_prefix}messages AS m ON (m.id_msg = t.id_first_msg)
  32. INNER JOIN {db_prefix}boards AS b ON (b.id_board = t.id_board)
  33. WHERE {query_wanna_see_board}' . ($modSettings['postmod_active'] ? '
  34. AND t.approved = {int:is_approved}' : '') . (!empty($topic_ids) ? '
  35. AND t.id_topic IN ({array_int:topic_list})' : '') . (!empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0 ? '
  36. AND b.id_board != {int:recycle_enable}' : '') . '
  37. ORDER BY t.num_' . ($type != 'replies' ? 'views' : 'replies') . ' DESC
  38. LIMIT {int:limit}',
  39. 'topic_list' => $topic_ids,
  40. 'is_approved' => 1,
  41. 'recycle_enable' => $modSettings['recycle_board'],
  42. 'limit' => $num_topics,
  43. )
  44. );
  45. $topics = array();
  46. while ($row = $smcFunc['db_fetch_assoc']($request))
  47. {
  48. censorText($row['subject']);
  49.  
  50. $topics[] = array(
  51. 'id' => $row['id_topic'],
  52. 'subject' => $row['subject'],
  53. 'num_replies' => $row['num_replies'],
  54. 'num_views' => $row['num_views'],
  55. 'href' => $scripturl . '?topic=' . $row['id_topic'] . '.0',
  56. 'link' => '<a href="' . $scripturl . '?topic=' . $row['id_topic'] . '.0">' . $row['subject'] . '</a>',
  57. );
  58. }
  59. $smcFunc['db_free_result']($request);
  60.  
  61. if ($output_method != 'echo' || empty($topics))
  62. return $topics;
  63.  
  64. echo '
  65. <table class="ssi_table">
  66. <tr>
  67. <th align="left"></th>
  68. <th align="left">', $txt['views'], '</th>
  69. <th align="left">', $txt['replies'], '</th>
  70. </tr>';
  71. foreach ($topics as $topic)
  72. echo '
  73. <tr>
  74. <td align="left">
  75. ', $topic['link'], '
  76. </td>
  77. <td align="right">', comma_format($topic['num_views']), '</td>
  78. <td align="right">', comma_format($topic['num_replies']), '</td>
  79. </tr>';
  80. echo '
  81. </table>';
  82. }
Go to the top of the page
+Quote Post
erix
post 9.09.2011, 07:48:11
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Przejrzyj sobie zmienne globalne, jakie masz do dyspozycji w SSI.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
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: 24.04.2024 - 05:08