[php&smarty]Problem z html_options

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
Stef@n
Nowy
Nowy
Posty: 40
Rejestracja: sob lut 15, 2003 12:33 pm
Lokalizacja: Nowy Targ
Kontakt:

[php&smarty]Problem z html_options

Post autor: 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:
[php]
<?php
//Łaczy z baza
$wyniki = mysql_query ("SELECT * FROM tabela);

//Pobieranie danych z bazy
while ($rekord = mysql_fetch_array ($wyniki)) {
$dane['id'] = $rekord['id']; // id
$dane['firma'] = $rekord['firma']; //Firma
$dane['aktywacja'] = $rekord['aktywacja']; //Aktywacja
$dane_tablica[] = $dane;
}
//Przekazywanie zmiennych do Smarty
$smarty -> assign('dane', $dane_tablica); //Dane z bazy
$smarty -> assign('aktywacja_array', array('Nie', 'Tak')); //Nie lubTak
$smarty -> assign('liczby_array', array(0,1)); //0 lub 1
?>
[/php]

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:

Kod: Zaznacz cały

	{foreach item="dane" from="$dane"}
						<div>{$dane.firma}</div>
						<form name="form" action="index.php?s=zmiana" method="post" >
							<select name="aktywacja[]" >
								{html_options options="$liczby_array" output="$aktywacja_array" selected="$dane.aktywacja"}
							</select>
								<input type="hidden"  name="id" value="{$dane.id}" />{$dane.aktywacja}
								<input type="submit"  name="submit" value=" - OK - " />
						</form>
						</div>
				{/foreach}
Stef@n
Nowy
Nowy
Posty: 40
Rejestracja: sob lut 15, 2003 12:33 pm
Lokalizacja: Nowy Targ
Kontakt:

Re: [php&smarty]Problem z html_options

Post autor: Stef@n »

Odpowiedź była w szczegółach. Może się komuś przyda.

Kod: Zaznacz cały

<select name="aktywacja" >
{html_options options=$liczby_array output=$aktywacja_array selected=$dane.aktywacja}
</select>
ODPOWIEDZ