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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: selected

Сообщения:  [1-7] 

 
 автор: speaker_ya   (22.02.2006 в 00:45)   письмо автору
 
   для: cheops   (21.02.2006 в 21:20)
 

короче... сначало ничего не работало ... только ошибки шли. Думал, что не получилось, хотя смотря на код, понимал, что должно работать. . . потом дошло.
В предложенном Вами коде ошибка.
вместо

$full_db['categor'] == $_POST['cat_id']) 

надо ставить

$full_db['cat_id'] == $_POST['categor']) 

и все заработало! ТАК ЧТО ОГРОМНОЕ СПАСИБО.... пойду дальше писать скрипт и читать Вашу книгу.

   
 
 автор: cheops   (21.02.2006 в 21:20)   письмо автору
 
   для: speaker_ya   (21.02.2006 в 17:09)
 

Первый блок
<?php
    
while($full_db mysql_fetch_array($cat)) 
    { 
    echo
"<option value=".$full_db['cat_id'].">".$full_db['title']."</option>"
    }
?>

исправьте следующим образом
<?php
    
while($full_db mysql_fetch_array($cat)) 
    { 
      if(
$full_db['categor'] == $_POST['cat_id']) $selected "selected"
      else 
$selected "";   
      echo
"<option value=".$full_db['cat_id'].$selected>".$full_db['title']."</option>"
    }
?>

А второй так:
<?php
    
while($full_db mysql_fetch_array($subcat)) 
    { 
      if(
$full_db['categor'] == $_POST['subcategor']) $selected "selected"
      else 
$selected "";   
      echo
"<option value=".$full_db['cat_id'].">".$full_db['title']."</option>"
    }
?>

   
 
 автор: speaker_ya   (21.02.2006 в 17:09)   письмо автору
 
   для: cheops   (21.02.2006 в 13:17)
 

вот мой php


mysql_select_db( "esol_cat") ;

$categor = $HTTP_POST_VARS['categor'];
if(!$categor) 
{
// Выбрать все категории, названия которых начинаются с '911'
 $cat = mysql_query("select * from categor WHERE p=911 order by title");
  if ($cat)
echo"<b>Главные разделы</b><br><br><form method=post action='edcat.php'><select name='categor' onchange='this.form.submit();'>";
    while($full_db = mysql_fetch_array($cat))
    {
    echo"<option value=".$full_db['cat_id'].">".$full_db['title']."</option>";
    }
    echo"</form></select><br><form action='edcat_p.php' method='post'><input type='hidden' name='p' value='911'><input type='text' name='title_add' size='20'><input type='submit' value='Добавить'><br><br>";
}
else
{

// Выбрать все товары, названия которых начинаются с 'р'
 $cat = mysql_query("select * from categor WHERE cat_id='".$categor."' order by title");
  if ($cat)
echo"<b>Главные разделы</b><br><br><form method=post action='edcat.php'><select name='categor' onchange='this.form.submit();'>";
    while($full_db = mysql_fetch_array($cat))
    {
    echo"<option value=".$full_db['cat_id'].">".$full_db['title']."</option>";
    }
    echo"</form></select><br><form action='edcat_p.php' method='post'><input type='hidden' name='p' value='911'><input type='text' name='title_add' size='20'><input type='submit' value='Добавить'><br><br>";

};






$subcat = mysql_query("select * from categor WHERE p='".$categor."' order by title");
  if ($subcat)
echo"<b>Подразделы</b><br><br><select name='subcategor'>";
    while($full_db = mysql_fetch_array($subcat))
    {
    echo"<option value=".$full_db['cat_id'].">".$full_db['title']."</option>";
    }
    echo"</select><br><form action='edcat_p.php' method='post'><input type='hidden' name='p' value='911'><input type='text' name='title_add' size='20'><input type='submit' value='Добавить'><br><br>";

   
 
 автор: cheops   (21.02.2006 в 13:17)   письмо автору
 
   для: speaker_ya   (21.02.2006 в 00:07)
 

Пример с selected приведён на странице 662 при построении системы мониторинга сайта. В ней используется выпадающий список с поисковыми системами, при перезагрузке системы выбор пользователя остаётся за счёт анализа переданных методом POST-данных. Такой же пример можно найти на стр 297. Однако в этом примере не используется цикл, поэтому лучше обратиться к странице 346: во втрой части страницы приведён цикл while
<?php
  
while($cat mysql_fetch_array($ctg))
  {
     ...
?>

и демонстрируется использование блока if для помещения в переменную $strhide текущего статуса каталога. Допустим каталоги выводятся в выпадающем списке
<?php
if(mysql_num_rows($ctg) > 0)
{
  echo 
"<select name=id_catalog>";
  while(
$cat mysql_fetch_array($ctg))
  {
     if(
$cat['id_catalog'] == $_GET['id_catalog']) $selected "selected";
     else 
$selected "";
     echo 
"<option value=$cat[id_catalog] $selected>$cat[name]</option>";
  }
  echo 
"</select>";
}
?>

Блок
<?php
     
if($cat['id_catalog'] == $_GET['id_catalog']) $selected "selected";
     else 
$selected "";
?>

осуществляет сравнение текущего первичного ключа $cat['id_catalog'] с переданным методом $_GET['id_catalog'] и если они совпадают - пункт будет отмечен как выбранный.

PS Приведите ваш PHP - на нём будет удобнее продемонстрировать куда вставить подобный блок.

   
 
 автор: speaker_ya   (21.02.2006 в 00:07)   письмо автору
 
   для: cheops   (20.02.2006 в 02:16)
 

ну есть у меня эта книга.. а где именно там об этом сказано... на какой страничке или в каком разделе?

   
 
 автор: cheops   (20.02.2006 в 02:16)   письмо автору
 
   для: speaker_ya   (19.02.2006 в 22:56)
 

>Подскажите, как это сделать... уже день пытаюсь найти. В
>книге Вашей такие вопросы помоему вообще не затрагиваются.
>=(
Эти вопросы обсуждатся в книге "PHP 5. Практика создания Web-сайтов".

Смысл в том, что при перезагрузке в цикле вывода необходимо сравнивать выбранный пункт с выгружаемыми из базы данных - если находится совпадение выводить selected. Лучше вместо первого блока привести цикл - тогда будет легче показать, как управиться с такой проблемой.

   
 
 автор: speaker_ya   (19.02.2006 в 22:56)   письмо автору
 
 

В общем для того, что бы меня лучше понять, предлагаю посмотреть этот код.

Главные разделы</b><br><br><form method=post action='edcat.php'><select name='categor' onchange='this.form.submit();'><option value=47>Культура, Искусство</option><option value=2>Муниципальные учреждения</option><option value=37>Образование, наука</option><option value=27>Общественные организации</option><option value=1>Разное</option><option value=53>Средства массовой информации</option></form></select><br><form action='edcat_p.php' method='post'><input type='hidden' name='p' value='911'><input type='text' name='title_add' size='20'><input type='submit' value='Добавить'><br><br><b>Подразделы</b><br><br><select name='subcategor'></select><br><form action='edcat_p.php' method='post'><input type='hidden' name='p' value='911'><input type='text' name='title_add' size='20'><input type='submit' value='Добавить'><br><br>
</font>


Данный код уже прошел php и mysql. Вообщем пишу Желтые Страницы. И сейчас пишу форму для админ-панели, где буду добавлять разделы для желтых страниц. Принцип такой. В меню главных разделов я выбираю нужный пункт и после этого автоматоматически в меню подразделов по этому пункту открываются другие разделы. Т.е. я выбрал раздел средства массовой информации, то в подразделах выскакивает пункты "Радио", "ТВ", "Газеты". Все это работает и все хорошо. Проблема в другом.
вот тут

option value=>

после того как мне вывелись подразделы, то менюшка с главными разделами возвращается на свое первое значение. а т.е. если тот же пункт СМИ стоит в самом конце, то он после все обработки останется не выделеным.

Что надо. Надо что бы после обработки, в главной менюшке на выбранном пункте стоял пункт selected

option value=4 selected>

ну а все остальные соответственно нет.

Подскажите, как это сделать... уже день пытаюсь найти. В книге Вашей такие вопросы помоему вообще не затрагиваются. =(

   

Сообщения:  [1-7] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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