Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SMARTY]Problem z html_options
Forum PHP.pl > Forum > Przedszkole
Stef@n
Witam,
Mam problem z {html_options} i bardzo proszę o wasza pomoc.
Problem polega na tym że smarty nie zaznacza "selected" opcji która jest w bazie czli 0 lub 1...

Mianowicie pobieram dane z bazy MySql przesyłam do smarty:
  1. <?php
  2. //Łaczy z baza
  3. $wyniki = mysql_query ("SELECT * FROM tabela);
  4.  
  5. //Pobieranie danych z bazy
  6. while ($rekord = mysql_fetch_array ($wyniki)) {
  7. $dane['id'] = $rekord['id']; // id
  8. $dane['firma'] = $rekord['firma']; //Firma
  9. $dane['aktywacja'] = $rekord['aktywacja']; //Aktywacja
  10. $dane_tablica[] = $dane;
  11. }
  12. //Przekazywanie zmiennych do Smarty
  13. $smarty -> assign('dane', $dane_tablica); //Dane z bazy
  14. $smarty -> assign('aktywacja_array', array('Nie', 'Tak')); //Nie lubTak
  15. $smarty -> assign('liczby_array', array(0,1)); //0 lub 1
  16. ?>


Jeśli chodzi o pole w bazie MySql "aktywacja" to jeśli jest wartość 0 to jest równe z Nie, jeśli wartość 1 = Tak

Teraz plik tpl:
  1. {foreach item="dane" from="$dane"}
  2. <div>{$dane.firma}</div>
  3. <form name="form" action="index.php?s=zmiana" method="post" >
  4. <select name="aktywacja[]" >
  5. {html_options options="$liczby_array" output="$aktywacja_array" selected="$dane.aktywacja"}
  6. </select>
  7. <input type="hidden" name="id" value="{$dane.id}" />{$dane.aktywacja}
  8. <input type="submit" name="submit" value=" - OK - " />
  9. </form>
  10. </div>
  11. {/foreach}
JoShiMa
Czy jesteś pewien, że zmienne powinny być w cudzysłowach w tej linii:
  1. {html_options options="$liczby_array" output="$aktywacja_array" selected="$dane.aktywacja"}

Mi wydaje się, że nie

Poza tym w atrybucie selected ta funkcja przyjmuje numer indeksu wartości tablicy, która ma być 'selected' a Ty tam pakujesz jakąś nieistniejącą zmienną. Bowiem u Ciebie nie ma w tablicy danych indeksu o nazwie 'aktywacja', bo u Ciebie $dane to tablica indeksowana liczbami a nie asocjacyjna a dopiero wartości tej tablicy są tablicami asocjacyjnymi do których mógłbyś się odwoływac przez $tablica.nazwa_indeksu

A w ogóle to poczytaj sobie jak się powinno tej funkcji używać:

http://gajdaw.pl/smarty/smarty-funkcje/p4.html
Stef@n
OK wielkie dzięki wszystko działa biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.