powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Отоброзить все значения поля с типом ENUM на HTML странице.
12 сообщений из 12, страница 1 из 1
Отоброзить все значения поля с типом ENUM на HTML странице.
    #38229398
gudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Создал таблицу в MySQL:

CREATE TABLE phpUsers.nomenklatura (
id int(6) NOT NULL,
name enum ('Принтер', 'Монитор', 'МФУ', 'Факс') NOT NULL UNIQUE,
brend enum ('Samsung', 'Acer', 'Panasonic') NOT NULL,
model varchar(50) NOT NULL,
sn varchar(50) NOT NULL,
inv_num varchar(50) DEFAULT NULL,
PRIMARY KEY (id)
)
ENGINE = MYISAM
AUTO_INCREMENT = 2
CHARACTER SET cp1251
COLLATE cp1251_general_ci;

Создаю форму для заполнения данными таблицу:

<form name="form1" action="add_nomenklatura.php" method="post" >

<p>
<label>Наименование:<br />
<select name="name">


<?

$result = mysql_query("SHOW COLUMNS FROM nomenklatura LIKE name",$db);

if (mysql_num_rows($result) > 0)
{$myrow = mysql_fetch_array($result);

preg_match_all("/'(.*?)'/", $myrow['Type'], $matches);
$arryEnum= $matches[1];


do
{
printf ("<option>%s</option>",$myrow['$arryEnum']);
}
while ($arryEnum);
}

else {echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();}

?>
</select>
</label>
</p>


<p><input type="submit" name="submit" id="submit" value="Добавить" /></p>


</form>

Вопрос: Список в тэге SELECT не отображается по полю Name. Что я делаю не так? Подскажите два дня уже бъюсь. Или другой способ вывода. Заранее спасибо.
...
Рейтинг: 0 / 0
Отоброзить все значения поля с типом ENUM на HTML странице.
    #38229561
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gudy"SHOW COLUMNS FROM nomenklatura LIKE name"По идее, оно должно вывалить ошибку синтаксиса. Добавьте echo mysql_error(); и проверьте. Соответственно, данных и не будет.

Далее, кажется, что-то не то с циклом do...while. Точнее, вообще все не то. Обычно для подобного используют while (без do). Кроме того, не видно повода для изменения $arryEnum внутри цикла. Следовательно, тело отработает либо один раз с ошибкой (нет данных), либо зациклится. Возьмите учебник или официальные мануалы по PHP - подобных примеров в сети много больше чем туева хуча.

PS: Код обрамляйте в тег SRC.
...
Рейтинг: 0 / 0
Отоброзить все значения поля с типом ENUM на HTML странице.
    #38229568
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще то, тут цикл нафиг не нужен. Достаточно простого implode + конкатенции.
...
Рейтинг: 0 / 0
Отоброзить все значения поля с типом ENUM на HTML странице.
    #38229577
gudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блин Повис по полной после второго ответа. Можно подробнее, вернее как это применить к моей таблице что бы увидеть данные на web-страничке.
...
Рейтинг: 0 / 0
Отоброзить все значения поля с типом ENUM на HTML странице.
    #38229579
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что именно?
...
Рейтинг: 0 / 0
Отоброзить все значения поля с типом ENUM на HTML странице.
    #38229580
gudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВОТ ЭТО Достаточно простого implode + конкатенции.
...
Рейтинг: 0 / 0
Отоброзить все значения поля с типом ENUM на HTML странице.
    #38229598
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, ну это просто. Допустим, имеется какой-то такой массив
Код: php
1.
$a = array('a', 'd', 'b');



Тогда получение хтмл-кода селекта будет выглядеть как то так
Код: php
1.
$sel = '<select name="name"><option>' . implode('</option><option>', $a) . '</option></select>';



Но если Вы захотите приделать к опциям еще и value, то такой способ не сработает. Тогда только цикл.
...
Рейтинг: 0 / 0
Отоброзить все значения поля с типом ENUM на HTML странице.
    #38249239
gudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все реализовал, не знаю как это правильно или нет, в PHP-новичек, но решил данную задачу так.

<p>
<label>Наименование:<br />
<select name="name">
<?
$result = mysql_query("SHOW COLUMNS FROM nomenklatura LIKE 'name'",$db);
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
preg_match_all("/'(.*?)'/i", $myrow['Type'], $ar);
$arrayEnum= $ar[1];

$a = 0;
while ($a < 5 )
{
printf ("<option value ='%s'>%s</option>",$arrayEnum[$a],$arrayEnum[$a]);
$a = $a+1;
}
}
else {echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();}
?>
</select>
</label>
</p>
...
Рейтинг: 0 / 0
Отоброзить все значения поля с типом ENUM на HTML странице.
    #38252082
gudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного усовершенствовал добавил $col = count($arrayEnum); если что то не понятно, пишете постараюсь объяснить.

<p>
<label>Наименование:<br />
<select name="name">
<?
$result = mysql_query("SHOW COLUMNS FROM nomenklatura LIKE 'name'",$db);
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
preg_match_all("/'(.*?)'/i", $myrow['Type'], $ar);
$arrayEnum= $ar[1];

$col = count($arrayEnum);
$a = 0;
while ($a < $col )
{
printf ("<option value ='%s'>%s</option>",$arrayEnum[$a],$arrayEnum[$a]);
$a = $a+1;
}
}
else {echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();}
?>
</select>
</label>
</p>
...
Рейтинг: 0 / 0
Отоброзить все значения поля с типом ENUM на HTML странице.
    #38252218
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Непонятно, почему вы не можете воспользоваться тегом SRC
...
Рейтинг: 0 / 0
Отоброзить все значения поля с типом ENUM на HTML странице.
    #38254723
gudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я его просто не знаю такой тэг если есть возможность объясните.
...
Рейтинг: 0 / 0
Отоброзить все значения поля с типом ENUM на HTML странице.
    #38254727
gudy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вернее не пойму куда его здесь применить.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Отоброзить все значения поля с типом ENUM на HTML странице.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]