Как создавать несколько копий <select>, меняя только его имя. Есть select вида: Код (Text): ... <select name="study"> <option value="no"><??></option> <?php $querylang=mysql_query("SELECT `id_study`,".$qlang." FROM `study`");cq(); while($getlang=mysql_fetch_assoc($querylang)) { echo "<option value=\"".$getlang['id_study']."\""; if (@$_POST['study'] && $getlang[$qcity]==$_POST['study']) echo " selected=\"selected\" "; echo ">".$getlang[$qlang]."</option>"; } ?> </select> ... который как видно заполняется из БД.
Цикл я бы переделал так Код (PHP): while($getlang=mysql_fetch_assoc($querylang)) { echo sprintf('<option value="%s"%s>%s</option>%s',$getlang['id_study'],(@$_POST['study'] && $getlang[$qcity]==$_POST['study'])?' selected="selected"':'',$getlang[$qlang],"\n"); } чтобы лучше было видно, что выходит, и чтобы не ставить обратные слеши. Так писать не правильно <option value="no"><??></option>, нужно <option value="no"><??></option>. У вас должно выводить столько <option>, сколько записей в таблице бд. А что означает "Как создавать несколько копий <select>, меняя только его имя", не понятно. Нужен select с тем же value, но с другим текстом? Нужно запомнить нужные value и вывести после цикла.