Возможно ли реализовать такую зависимость?
На страницу присылается переменная.И в зависимости от ее значения строится количество строк option в форме выбора.
$ports=$_POST['ports'];
/*например значение перменной равно 4-м.Тогда:*/
<form action="script.php" method="post">
<p><select>
<option disabled="disabled" selected="selected">Выберите:</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select></p>
<p><input type="submit" value="Отправить"></p>
</form>
Спустя 5 минут, 26 секунд (12.04.2011 - 15:59) panacea написал(а):
Не вижу преград. Передаешь в виде переменной количество циклов for ля создания строк
$str .= '<option value="{$i}">{$i}</option>\n';
$str .= '<option value="{$i}">{$i}</option>\n';
Спустя 1 минута, 7 секунд (12.04.2011 - 16:00) waldicom написал(а):
обычный цикл
пысы. panacea был быстрее.
$str = '<select>';
$max = (int)$_POST['ports'];
if($max > 0){
for($i = 1; $i <= $max; $i++){
$str .= '<option value="' . $i . '">' . $i . '</option>';
}
}
$str .= '</select>';
echo $str;
пысы. panacea был быстрее.
Спустя 9 минут, 34 секунды (12.04.2011 - 16:09) Зодчий написал(а):
panacea,
waldicom, спасибо!все элементарное просто...
Еще раз убедился,что писать код надо не отвлекаясь на основную работу.
waldicom, спасибо!все элементарное просто...
Еще раз убедился,что писать код надо не отвлекаясь на основную работу.
Спустя 13 дней, 17 часов, 5 минут, 38 секунд (26.04.2011 - 09:15) Зодчий написал(а):
Решил я усложнить задачу.
При построении списка сверяемся с БД -нет ли такого значения в таблице. Если есть, то не отображаем это значение.
Как я понимаю нужно сначала выбрать все значения в таблице, занести в массив, затем построить массив из приходящей переменной и сравнить их?
При построении списка сверяемся с БД -нет ли такого значения в таблице. Если есть, то не отображаем это значение.
Как я понимаю нужно сначала выбрать все значения в таблице, занести в массив, затем построить массив из приходящей переменной и сравнить их?
Спустя 1 час, 39 минут, 59 секунд (26.04.2011 - 10:55) Игорь_Vasinsky написал(а):
а не проще сразу в цикле условие написать, если совпадений не найдено то
правдпа не хорошо как то пустую опцию выставлять...
но смасл я думаю понятен
$str .= "<option></option>"
правдпа не хорошо как то пустую опцию выставлять...
но смасл я думаю понятен
Спустя 22 минуты, 11 секунд (26.04.2011 - 11:17) Зодчий написал(а):
Пока накопал до вот этого
Дальше нужно написать select с <option> -значениями массива.
$res= mysql_query("SELECT `od_ports` FROM `klient` WHERE `summ_id`='$summ_id' ORDER BY `od_ports`") or die(mysql_error());
$myrow= mysql_fetch_array($res);
do
{
$port[]=$myrow['od_ports'];
}
while ($myrow = mysql_fetch_array($res));
if($max > 0)
{
for($i = 1; $i <= $max; $i++)
{
$port_od[]=$i;
}
}
$c = array_diff($port_od, $port);
print_r($c);
Дальше нужно написать select с <option> -значениями массива.
Спустя 2 часа, 43 минуты, 25 секунд (26.04.2011 - 14:01) Зодчий написал(а):
Кто-нибудь подскажет как это сделать?
Спустя 32 минуты, 2 секунды (26.04.2011 - 14:33) Зодчий написал(а):
Сделал как то так
echo "<select name=\"od_ports\">";
$res= mysql_query("SELECT `od_ports` FROM `ud_klient` WHERE `summ_id`='$summ_id' ORDER BY `od_ports`") or die(mysql_error());
$myrow= mysql_fetch_array($res);
do
{
$port[]=$myrow['od_ports'];
}
while ($myrow = mysql_fetch_array($res));
if($max > 0)
{
for($i = 1; $i <= $max; $i++)
{
$port_od[]=$i;
}
}
$c = array_diff($port_od, $port);
foreach ( $c as $c )
{
echo "<option value=\"$c\">$c</option>";
}
echo "</select>";
Спустя 3 часа, 48 минут, 33 секунды (26.04.2011 - 18:21) walerus написал(а):
foreach ( $c as $c )
{
echo "<option value=\"$c\">$c</option>";
}
И как ? работает ?, ничего что переменная одна и та же ?, хотя бы так писал ...
foreach ( $c as $c_value )
{
echo "<option value=\"".$c_value."\">".$c_value."</option>";
}
B)