Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Błędy
patryk9200
post
Post #1





Grupa: Zarejestrowani
Postów: 319
Pomógł: 4
Dołączył: 7.02.2009
Skąd: pless

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


Cześć,
Zrobiłem funkcję budującą menu:
  1. function BudujMenu ($rek)
  2. {
  3. MysqlStart ();
  4. if ($rek)
  5. { $query = "SELECT * FROM ".$db['prefix']."menutop WHERE parent_id='".$rek['id']."' AND page='".PageID."' ORDER BY position DESC";}
  6. else {$query = "SELECT * FROM ".$db['prefix']."menutop WHERE page='".PageID."' ORDER BY position DESC";}
  7. $result = mysql_query ($query) or die ("Zapytanie zakończone niepowodzeniem");
  8. while($rek = mysql_fetch_array($result))
  9. {
  10. if ($rek['parent'])
  11. {
  12. echo '<li><span class="dir">'.$rek['name'].'</span><ul>';
  13. BudujMenu ($rek);
  14. echo '</ul></li>';
  15. } else
  16. {
  17. echo '<li><a href="'.$rek['link'].'">'.$rek['name'].'</a></li>';
  18. }
  19. }
  20. MysqlEnd ();
  21. }

i wyskakują mi błędy:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/zs4tychy/ftp/new/Global.inc on line 46

Warning: Missing argument 1 for BudujMenu(), called in /home/zs4tychy/ftp/new/THEMES/DEFAULT/theme.inc on line 87 and defined in /home/zs4tychy/ftp/new/Global.inc on line 56
Zapytanie zakończone niepowodzeniem
co robię nie tak?
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(patryk9200 @ 19.09.2009, 22:48:15 ) *
co robię nie tak?

Nie czytasz komunikatów. Uzyj wyszukiwarki. Pierwszy błąd poruszany MILIONY RAZY!

A w drugim pisze jak wół. Brak pierwszego argumentu.
Go to the top of the page
+Quote Post
patryk9200
post
Post #3





Grupa: Zarejestrowani
Postów: 319
Pomógł: 4
Dołączył: 7.02.2009
Skąd: pless

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


dobra poprawiłem, mam teraz tak:
  1. function BudujMenu ($t=NULL)
  2. {
  3. MysqlStart ();
  4. if ($t)
  5. { $query = "SELECT * FROM zs4_menutop WHERE parent_id='".$t."' AND page='1' ORDER BY id DESC";}
  6. else {$query = "SELECT * FROM zs4_menutop WHERE page='1' ORDER BY id DESC";}
  7. $result = mysql_query ($query) or die ("Zapytanie zakończone niepowodzeniem");
  8. while($rek = mysql_fetch_array($result))
  9. {
  10. if ($rek['parent'])
  11. {
  12. echo '<li><span class="dir">'.$rek['name'].'</span><ul>';
  13. BudujMenu ($rek['id']);
  14. echo '</ul></li>';
  15. } else
  16. {
  17. echo '<li><a href="'.$rek['link'].'">'.$rek['name'].'</a></li>';
  18. }
  19. }
  20. MysqlEnd ();
  21. }

jak zrobić żeby zamiast echo można było użyć return i zwracało gotową zawartośc?
Go to the top of the page
+Quote Post
Void
post
Post #4





Grupa: Zarejestrowani
Postów: 112
Pomógł: 15
Dołączył: 2.02.2007

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


Cytat(patryk9200 @ 19.09.2009, 23:12:29 ) *
jak zrobić żeby zamiast echo można było użyć return i zwracało gotową zawartośc?

Przypisać tą zawartość do zmiennej i ją zwrócić? (IMG:style_emoticons/default/smile.gif)

Utwórz sobie jakąś zmienną lokalną wewnątrz funkcji BudujMenu i przypisuj do niej kolejne instrukcje operatorem .=
np.
  1. $var = '';
  2. $var .= '<li><span class="dir">'.$rek['name'].'</span><ul>';
  3. BudujMenu ($rek['id']);
  4. $var .= '</ul></li>';
Go to the top of the page
+Quote Post
patryk9200
post
Post #5





Grupa: Zarejestrowani
Postów: 319
Pomógł: 4
Dołączył: 7.02.2009
Skąd: pless

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


Dzięki masz pomógł ;-) wielopoziomowe menu działa świetnie ;-)
Poprawny kod:
  1. function BudujMenu ($t=NULL)
  2. {
  3. //global $var; $var ='';
  4. MysqlStart ();
  5. $query = "SELECT * FROM zs4_menutop WHERE parent_id='".$t."' AND page='1'";
  6. $result = mysql_query ($query) or die ("Zapytanie zakończone niepowodzeniem");
  7. while($rek = mysql_fetch_array($result))
  8. {
  9. if ($rek['typ'] == 1)
  10. {
  11. $var .= '<li><span class="dir">'.$rek['nazwa'].'</span><ul>';
  12. $var .= BudujMenu ($rek['id']);
  13. $var .= '</ul></li>';
  14. } elseif ($rek['typ'] == 0)
  15. {
  16. $var .= '<li><a href="'.$rek['link'].'">'.$rek['nazwa'].'</a></li>
  17. ';
  18. }
  19. }
  20.  
  21. return $var;
  22. }


Ten post edytował patryk9200 20.09.2009, 08:18:44
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: 8.10.2025 - 05:55