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

Форум MySQL

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

 

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

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

тема: В выпадающем списке, пункты без выбора?
 
 автор: xpom   (02.09.2006 в 12:57)   письмо автору
 
 

Уважаемые профессионалы!
Помогите сделать в форме выпадающий список, который строится из базы данных, так чтобы в этом списке можно было вставить два не выбираемых пункта, вот построение списка:

<?php

          $db 
mysql_connect($dbhost$dbuser$dbpass);
          
mysql_selectdb($dbname$db);

          
$res mysql_query("SELECT * FROM Punkt",$db);

          while (
$myrow mysql_fetch_row($res))
          {
          print(
"<option value=$myrow[0]>$myrow[1]</option>");
          }

          
mysql_close($db);
        
?>


Или эти не выбираемые пункты можно добавить в саму базу данных, если можно подскажите пожалуйста как это сделать?

   
 
 автор: Киналь   (02.09.2006 в 15:05)   письмо автору
 
   для: xpom   (02.09.2006 в 12:57)
 

Попробуйте использовать вместо <option> тег <optgroup> в нужных пунктах.

   
 
 автор: xpom   (02.09.2006 в 19:10)   письмо автору
 
   для: Киналь   (02.09.2006 в 15:05)
 

Не получается с <optgroup> тогда пункты вообще исчезают из списка.

   
 
 автор: Евгений Петров   (02.09.2006 в 15:17)   письмо автору
 
   для: xpom   (02.09.2006 в 12:57)
 

А что за пункты и почему не выбираемые?

   
 
 автор: xpom   (02.09.2006 в 18:59)   письмо автору
 
   для: Евгений Петров   (02.09.2006 в 15:17)
 

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

   
 
 автор: Евгений Петров   (02.09.2006 в 19:10)   письмо автору
 
   для: xpom   (02.09.2006 в 18:59)
 

<?
    $num 
mysql_num_rows($res);
    
$center floor($num 2);
    for(
$i 0$i $num$i++)
    {
        
$myrow mysql_fetch_row($res);        
        if(
$i == || $i == $center)
            echo 
"<option disabled>---------</option>\n"
        echo 
"<option value=$myrow[0]>$myrow[1]</option>\n";
    }
?>

   
 
 автор: xpom   (02.09.2006 в 19:33)   письмо автору
 
   для: Евгений Петров   (02.09.2006 в 19:10)
 

Как сдесь можно указать с какого пункта начинать деление и где вписать их название?

   
 
 автор: Евгений Петров   (02.09.2006 в 19:37)   письмо автору
 
   для: xpom   (02.09.2006 в 19:33)
 

Ну вы ж пополам просили :) Количество строк у вас есть ($num) если надо какие то конкретные строки скажем после 2, 5 и 7 надо вставить Раздел 1, Раздел 2, Раздел 3 то пишите вместо:
if($i == 0 || $i == $center)
    echo "<option disabled>---------</option>\n";

<?
  
if($i == 2) echo "<option disabled>Раздел 1</option>\n"
  if(
$i == 5) echo "<option disabled>Раздел 2</option>\n";
  if(
$i == 7) echo "<option disabled>Раздел 3</option>\n";
?>

   
 
 автор: Евгений Петров   (02.09.2006 в 19:37)   письмо автору
 
   для: Евгений Петров   (02.09.2006 в 19:37)
 

А ну и строку
$center = floor($num / 2);

соотв можно удалить

   
 
 автор: xpom   (02.09.2006 в 20:04)   письмо автору
 
   для: Евгений Петров   (02.09.2006 в 19:37)
 

Да, это то что мне надо! Если мне надо первой строкой втавить Раздел 1 соответственно это будет выхлядить во так:

if($i == 0) echo "<option disabled>Раздел 1</option>\n";  

Да?

   
Rambler's Top100
вверх

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