Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: меняется значение меню после нажатия кнопки
 
 автор: denic   (11.05.2006 в 10:43)   письмо автору
 
 

На форме есть открывающееся меню, где указаны виды товара, поле ввода для контекстного поиска, кнопка. Заполняю меню из БД. ввожу текст для поиска, выбираю нужный вид , нажимаем кнопку. Все прекрасно отрабатывает, только вот поле ввода очищается, и меню перезаполняется и становится на последний пункт. Вопрос: как оставить набранный текст в поле, и ГЛАВНОЕ - оставить ранее выбранный пункт меню.

   
 
 автор: elenaki   (11.05.2006 в 10:52)   письмо автору
 
   для: denic   (11.05.2006 в 10:43)
 

<option value="<?=$vid?>" <? if ($vid == $_GET["vid"]) echo "Selected";?>><?=$vid?></option>

надо сравнивать значение пункта меню с выбранным ранее. если оно совпадает, то
вывести параметр selected. тогда пункт будет выбран.

в текстовом поле подставляете в value="<?=$_GET['text']?>". имена полей - только для примера. если метод POST, пишите $_POST[' имя поля ']

   
 
 автор: denic   (11.05.2006 в 11:00)   письмо автору
 
   для: elenaki   (11.05.2006 в 10:52)
 

Вот таким образом идет заполнение:
<select name="vidmenu" id="vidmenu" style="width:250px" >

<?php
$vid = mysql_fetch_assoc($cat); // запрос был немного раньше
do {
?>
<option value=" <?php echo $vid['id']?>"<?php if (!(strcmp($vid['id'], $vid['id']))) {echo "selected=\"selected\"";} ?>><?php echo $vid['vidtovar']?> </option >

<?php
} while ($vid = mysql_fetch_assoc($cat));
$rows = mysql_num_rows($cat);
if($rows > 0) {
mysql_data_seek($cat, 0);

}
?>
</select>
Некуда тут ваш код подставить..

   
 
 автор: elenaki   (11.05.2006 в 11:10)   письмо автору
 
   для: denic   (11.05.2006 в 11:00)
 

echo "selected=\"selected\"";

что за странная конструкция? достаточно echo "selected";

а это зачем?
if (!(strcmp($vid['id'], $vid['id'])))
вместо этого вполне можно подставить проверку на соответствие как в примере
выше.

   
 
 автор: denic   (11.05.2006 в 12:28)   письмо автору
 
   для: elenaki   (11.05.2006 в 11:10)
 

Спасибо! получилось!!!
<option value=" <?php echo $vid['id']; $s=$vid['id'];?>"<?php if ($s == $_GET["vidmenu"]) echo "Selected"; ?>><?php echo $vid['vidtovar']?> </option >
Так все работает!!!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования