Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]ścieżka w katalogu
kłulik
post 30.01.2005, 10:52:37
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 27.01.2005
Skąd: Copa Cabana

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


Witam. Mam taki kodzik:
  1. <?
  2. function path($id) {
  3. if(!isset($id)) {
  4. $path .='/';
  5. }
  6. else {
  7. $sql = 'SELECT * FROM categories WHERE category_id LIKE ''.$id.''';
  8. $rs = mysql_query($sql);
  9. $row = mysql_fetch_array($rs);
  10. $path .= '<a href=\"?id='.$row['category_id'].'\">'.$row['category_name'].'</a>/';
  11. if(strlen($id)!=0) {
  12. $id = substr($id, -3);
  13. $path .= path($id).'/';
  14. }
  15. }
  16. return $path;
  17. }
  18. ?>

Problem w tym że ten kod nie działa.
Zmienna $id przyjmuje wartości np.001,002,001001,002001 itp.
Funkcja powinna zwrócić string w postaci '/Programy/Muzyka/Rock/Polski'
Co tu jet źle i co zrobić żeby było dobrze?
Pliz o pomoc

Ten post edytował kłulik 30.01.2005, 10:53:39
Go to the top of the page
+Quote Post
aleksander
post 30.01.2005, 11:55:33
Post #2





Grupa: Przyjaciele php.pl
Postów: 742
Pomógł: 0
Dołączył: 14.12.2003
Skąd: Gdańsk, Trójmiasto

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


  1. <?
  2. function path($id) {
  3. if(!isset($id)) {
  4. $path .='/';
  5. }
  6. else {
  7. $rs = mysql_query( &#092;"SELECT * FROM categories WHERE category_id = '$id'\" );
  8. $row = mysql_fetch_array($rs);
  9. $path .= '<a href=\"?id='.$row['category_name'].'\">'.$row['category_name'].'</a>/';
  10. if(strlen($id)!=0) {
  11. $id = substr($id, -3);
  12. $path .= path($id).'/';
  13. }
  14. }
  15. return $path;
  16. }
  17. ?>
moze tak?
Go to the top of the page
+Quote Post
kłulik
post 30.01.2005, 11:58:53
Post #3





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 27.01.2005
Skąd: Copa Cabana

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


Niestety to nie działa. Zapytanie SQL jest dobre. Problem leży w wywołaniu funkcji 'path' przez samą siebie.
Go to the top of the page
+Quote Post
tiraeth
post 30.01.2005, 12:02:31
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


  1. <?
  2. function path($id)
  3. {
  4.  if(!isset($id))
  5.  {
  6. $path .='/';
  7.  }
  8.  else
  9.  {
  10. $rs = mysql_query( &#092;"SELECT * FROM categories WHERE category_id = '$id'\" );
  11. $row = mysql_fetch_array($rs);
  12. $path .= '<a href=\"?id='.$row['category_name'].'\">'.$row['category_name'].'</a>/';
  13. if(strlen($id)!=0)
  14. {
  15.  $id = substr($id, -3);
  16.  $path .= path($id).'/';
  17. }
  18.  }
  19.  return $path;
  20. }
  21. ?>


dlaczego wywołujesz funkcję path w niej samej? snitch.gif
Go to the top of the page
+Quote Post
kłulik
post 30.01.2005, 12:08:34
Post #5





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 27.01.2005
Skąd: Copa Cabana

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


Bo $id może nie istnieć. Może mieć też wartość np. 001002003 i wtedy pobieram nazwę dla category_id=001002003. Później obcinam id o 3, czyli $id=001002 i znów pobieram nazwę. I tak w kółko aż $id nie będzie puste.
Ale to nie działa.
Jeśli znasz jakiś inny prostrzy działający sposób to pliz podaj go.
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: 18.07.2025 - 18:09