Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Smarty] html_options
Siner
post
Post #1





Grupa: Zarejestrowani
Postów: 159
Pomógł: 6
Dołączył: 2.01.2004

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


Witam,
mam mały problem z funkcja html_options. Robie tak, pobieram dane z bazy danych:
  1. <?php
  2. $sql = 'SELECT id, nazwa FROM kategorie';
  3. $zapytanie = mysql_query($sql) or die(mysql_error());
  4. $galeria = array();
  5. while ($row = mysql_fetch_assoc($zapytanie))
  6. {
  7. array_push($galeria, $row);
  8. }
  9. $smarty->assign('galeria', $galeria);
  10. $smarty->assign('idgalerii', $_GET['idgalerii']);
  11. ?>


Następnie w pliku .tpl
  1. <select name="galeria">
  2. {html_options values=$galeria.id output=$galeria.nazwa selected=$idegalerii}

A jako wynik dostaje tylko:
  1. <select name="galeria">
  2.  

Z góry dzięki za pomoc.
Go to the top of the page
+Quote Post
nazihipi
post
Post #2





Grupa: Zarejestrowani
Postów: 139
Pomógł: 0
Dołączył: 14.07.2006

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


  1. <?php
  2. //
  3. //
  4. $smarty->assign('idgalerii', $_GET['idgalerii']); 
  5. //
  6. //
  7. ?>


nie
  1. selected=$idegalerii


tylko
  1. selected=$idgalerii



literówka (IMG:http://forum.php.pl/style_emoticons/default/cool.gif)
Go to the top of the page
+Quote Post
Siner
post
Post #3





Grupa: Zarejestrowani
Postów: 159
Pomógł: 6
Dołączył: 2.01.2004

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


Dzięki za zwrócenie uwagi, ale to nie to. Nadal wyśiwtla pusty <select>
Go to the top of the page
+Quote Post
nazihipi
post
Post #4





Grupa: Zarejestrowani
Postów: 139
Pomógł: 0
Dołączył: 14.07.2006

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


sprawdź, czy skrypt poprawnie wybiera dane z bazy, wyglada to jakby zwrcało Ci puste rekordy...
Go to the top of the page
+Quote Post
Siner
post
Post #5





Grupa: Zarejestrowani
Postów: 159
Pomógł: 6
Dołączył: 2.01.2004

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


Baza nie jest pusta, normalnie jakbym wpisał zamiast "array_push($galeria, $row);" np echo $row['id'] wszystko ładnie się wyświetla.

Ten post edytował Siner 14.08.2006, 11:39:43
Go to the top of the page
+Quote Post
php programmer
post
Post #6





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


Zwróć uwagę że struktura złożonej tablicy jaką
tworzysz w php jest inna niż ta do której odwołujesz się w smarty

tablica w php jest z tego co mi sie wydaje
tablicą z indeksami 0,1,2 itd
gdzie na każdym indeksie masz kolejną tablice ale juz asocjacyjną

a w smarty odwołujesz się do tej tablicy jak by była wpierw asocjacyjna
a potem indeksowana

Ten post edytował php programmer 14.08.2006, 11:51:17
Go to the top of the page
+Quote Post
Siner
post
Post #7





Grupa: Zarejestrowani
Postów: 159
Pomógł: 6
Dołączył: 2.01.2004

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


Z tego co mi się wydaje tworze w php tablice "assocjacyjną" i do takiej też się odwołuje w smarty.
Go to the top of the page
+Quote Post
php programmer
post
Post #8





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


A co ci wypisuje jak dasz na końcu komende
  1. <?php
  2. print_r($galeria);
  3. ?>


Ten post edytował php programmer 14.08.2006, 21:42:10
Go to the top of the page
+Quote Post
Siner
post
Post #9





Grupa: Zarejestrowani
Postów: 159
Pomógł: 6
Dołączył: 2.01.2004

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


Dostaje coś takiego:
  1. Array (
  2. [0] => Array ( [id] => 1 [nazwa] => Galeria 1 )
  3. [1] => Array ( [id] => 2 [nazwa] => Galeria 2 )
  4. [2] => Array ( [id] => 3 [nazwa] => Galeria 3 )
  5. [3] => Array ( [id] => 17 [nazwa] => Galeria 4 )
  6. [4] => Array ( [id] => 21 [nazwa] => Galeria 5 )
  7. )
Go to the top of the page
+Quote Post
php programmer
post
Post #10





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


No wiec jest tak jaki myślałem, zaraz ci napisze co zrobić,
sam niedawno robiłęm coś podobnego tylko musze zajrzeć do manuala
  1. <?php
  2. $sql = 'SELECT id, nazwa FROM kategorie';
  3. $zapytanie = mysql_query($sql) or die(mysql_error());
  4. $nazwy = array();
  5. $id = array();
  6. while ($row = mysql_fetch_assoc($zapytanie))
  7. {
  8. array_push($nazwy, $row['nazwa']);
  9. array_push($id, $row['id']);
  10. }
  11. $smarty->assign('id', $id);
  12. $smarty->assign('nazwy', $nazwy);
  13. $smarty->assign('idgalerii', $_GET['idgalerii']);
  14. ?>


jeszcze przed chwilką zrobiłem małą zmiene powyżej, i jeszcze jedna poprawka
i jeszcze jedna, zeby było bardziej podobnie jak w twoim kodzie
natomiast w w smarty coś takiego

  1. <select name="galeria">
  2. {html_options values=$id output=$nazwy selected=$idgalerii}


moze teraz powinno zadziałać,
w sumie dało by się to zrobić bardziej elegancko,
http://smarty.php.net/manual/en/language.f...tml.options.php
example 2

Ten post edytował php programmer 14.08.2006, 22:37:59
Go to the top of the page
+Quote Post
Siner
post
Post #11





Grupa: Zarejestrowani
Postów: 159
Pomógł: 6
Dołączył: 2.01.2004

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


Ok, dzięki działa. Tylko jestem ciekawy czemu mój kod nie zadziałał, co było nie tak ?
Go to the top of the page
+Quote Post
php programmer
post
Post #12





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


Cytat
Array (
[0] => Array ( [id] => 1 [nazwa] => Galeria 1 )
[1] => Array ( [id] => 2 [nazwa] => Galeria 2 )
[2] => Array ( [id] => 3 [nazwa] => Galeria 3 )
[3] => Array ( [id] => 17 [nazwa] => Galeria 4 )
[4] => Array ( [id] => 21 [nazwa] => Galeria 5 )
)


próbowałeś odwołać się w smarty do id, które
jest jedynie wartością w tablicy a nie tablicą

Ten post edytował php programmer 14.08.2006, 23:03:02
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: 22.08.2025 - 20:38