Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Generowanie menu html na podstawie danych z bazy
marcio
post
Post #1





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Elo mam taki kod:
  1. public static function menu($name, $value, $multiple = false, $css = null)
  2. {
  3.  
  4. self::open_rows_and_cols();
  5.  
  6. $multi = ($multiple === false) ? '' : 'multiple="multiple"';
  7.  
  8. self::$form .= '<select name="'.$name.'" '.$multi.'>';
  9. self::$array_form[$name.'_open'] = htmlspecialchars('<select name="'.$name.'" '.$multi.'>');
  10.  
  11. if(is_array($value))
  12. {
  13. foreach($value as $key => $option)
  14. {
  15. self::$form .= '<option value="'.$key.'">'.$option.'</option>';
  16. self::$array_form[$name.'_'.$key] = htmlspecialchars('<option value="'.$key.'">'.$option.'</option>');
  17. }
  18. }
  19.  
  20. else
  21. {
  22. self::$form .= '<option value="'.$value.'">'.$value.'</option>';
  23. self::$array_form[$name] .= htmlspecialchars('<option value="'.$value.'">'.$value.'</option>');
  24. }
  25.  
  26. self::$form .= '</select>';
  27. self::$array_form[$name.'_close'] .= htmlspecialchars('</select>');
  28.  
  29. self::$array_form[$name] = self::$array_form[$name.'_open'];
  30. unset(self::$array_form[$name.'_open']);
  31.  
  32. foreach($value as $key => $value)
  33. {
  34. self::$array_form[$name] .= self::$array_form[$name.'_'.$key];
  35. unset(self::$array_form[$name.'_'.$key]);
  36. }
  37.  
  38. self::$array_form[$name] .= self::$array_form[$name.'_close'];
  39. unset(self::$array_form[$name.'_close']);
  40.  
  41. self::close_rows_and_cols();
  42.  
  43. }

Problem polega na tym jak zrobic zeby nie byl tak zagmatowany?
Tzn na samym koncu chce miec w
  1. self::array_form[$name]

Cale menu ze wszystkimi elemntami tag select jak i option...idzie to jakos zrobic bez tego unset i bez zbednego kombinowania?bo poki co nie przychodzi m,i nic do glowy....


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
matino
post
Post #2





Grupa: Zarejestrowani
Postów: 175
Pomógł: 30
Dołączył: 9.08.2007

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


Może tak:
  1. public static function menu($name, $value, $multiple = false, $css = null)
  2. {
  3.  
  4. self::open_rows_and_cols();
  5.  
  6. $multi = ($multiple === false) ? '' : 'multiple="multiple"';
  7.  
  8. self::$form .= '<select name="'.$name.'" '.$multi.'>';
  9. self::$array_form[$name] = htmlspecialchars('<select name="'.$name.'" '.$multi.'>');
  10. //self::$array_form[$name.'_open'] = htmlspecialchars('<select name="'.$name.'" '.$multi.'>');
  11.  
  12. if(is_array($value))
  13. {
  14. foreach($value as $key => $option)
  15. {
  16. self::$form .= '<option value="'.$key.'">'.$option.'</option>';
  17. self::$array_form[$name.'_'.$key] = htmlspecialchars('<option value="'.$key.'">'.$option.'</option>');
  18. }
  19. }
  20.  
  21. else
  22. {
  23. self::$form .= '<option value="'.$value.'">'.$value.'</option>';
  24. self::$array_form[$name] .= htmlspecialchars('<option value="'.$value.'">'.$value.'</option>');
  25. }
  26.  
  27. self::$form .= '</select>';
  28. //self::$array_form[$name.'_close'] .= htmlspecialchars('</select>');
  29. //unset(self::$array_form[$name.'_open']);
  30.  
  31. foreach($value as $key => $value)
  32. {
  33. self::$array_form[$name] .= self::$array_form[$name.'_'.$key];
  34. unset(self::$array_form[$name.'_'.$key]);
  35. }
  36.  
  37. self::$array_form[$name] .= htmlspecialchars('</select>');
  38. //unset(self::$array_form[$name.'_close']);
  39.  
  40. self::close_rows_and_cols();
  41.  
  42. }
  43.  
Go to the top of the page
+Quote Post
marcio
post
Post #3





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Tak tez myslalem ale bez dodatkowych index'ow i unset to raczej sie nie obejdzie....chyba ze jakos na okolo....coz tak moze byc


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
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 Aktualny czas: 22.08.2025 - 04:54