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

Форум PHP

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

 

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

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

тема: Сформировать список записей из БД в выпадающий список
 
 автор: Neiroromantik   (16.02.2009 в 11:50)   письмо автору
 
 

Всем привет!Ситуация следующая. В программе должен быть справочник элементов мебели, который заполняет администратор. Иноформация об элементах хранится в базе данных. С ее занесением и отображением в меню админа траблов нет.
Но вот как вывести эти элементы в выпадающий список для юзеров
пока понять не могу. Ладно, если бы их количество было задано только один раз, но эти элементы будут постянно меняться, а значит их нужно брать из базы данных.
<?php
conn=mysql_connect("localhost","root","1");
mysql_select_db( "chermebel") ;
$sql="select * from pens"; // ручки для мебели
$result=mysql_query($sql);
$num_results=mysql_num_rows($result); // получаю количество отобранных записей
$lists=array(); // массив для записи ручек
for ($i=0; $i< $num_results;$i++)
{
$row=mysql_fetch_row($result);
$tableel= $row["1"]; // получаю текущий элемент
$lists[$i]=$tableel; // записываю его в новый массив.

// что делать дальше не представляю.для каждого option value нужно вывести элемент массива.
echo "<select name= kitchen> ";
echo "<option value= 1 > ";
echo "<option value= 2 > ";
echo "<option value=3> ";
echo "<option value= 4 > ";
echo "<option value= 5 > ";
} // думал сделать так:
for ($i=0;$i<$lists;$i++)
{ echo $lists[$i];
echo "<select name= kitchen> ";
echo "<option value= 1 > $lists[$i]";
echo "<option value= 2 > $lists[$i]";
echo "<option value= 3 > $lists[$i]";
// но тогда выводятся несколько списков из-за нескольких итераций.
Как сделать так, чтобы был один список, но содержащий значения всех выбранных в запросе
элементов таблицы?

  Ответить  
 
 автор: psychomc   (16.02.2009 в 12:01)   письмо автору
 
   для: Neiroromantik   (16.02.2009 в 11:50)
 

я делал вот так
<?php
// .....
if (mysql_num_rows($scat) > 0)
        {
            echo 
"<tr>
                    <td class='txt'><p align='right'><b>В каталоге </b>:</td>
                    <td> 
                        <select name='id_catalog'>
                        <option value=''>Любой</option>"
;
            while (
$opt mysql_fetch_array($scat))
            {
                echo 
'<option value='.$opt["id_catalog"].'>'.$opt["name"].'</option>';        
            }            

            
            echo 
'        </select>
                    </td>
                 </tr>'
;
        }
// .....
?>

  Ответить  
 
 автор: Neiroromantik   (16.02.2009 в 13:00)   письмо автору
 
   для: psychomc   (16.02.2009 в 12:01)
 

Действительно. Нужно было всего-то тэг <select> объявить снаружи, перед циклом. Я не увидел очевидного. Благодарю дружище

  Ответить  
 
 автор: psychomc   (16.02.2009 в 13:22)   письмо автору
 
   для: Neiroromantik   (16.02.2009 в 13:00)
 

не за что.

  Ответить  
Rambler's Top100
вверх

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