Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Отоброзить все значения поля с типом ENUM на HTML странице. / 12 сообщений из 12, страница 1 из 1
17.04.2013, 15:33
    #38229398
gudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отоброзить все значения поля с типом ENUM на HTML странице.
Всем привет.
Создал таблицу в 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
17.04.2013, 16:37
    #38229561
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отоброзить все значения поля с типом ENUM на HTML странице.
gudy"SHOW COLUMNS FROM nomenklatura LIKE name"По идее, оно должно вывалить ошибку синтаксиса. Добавьте echo mysql_error(); и проверьте. Соответственно, данных и не будет.

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

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



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



Но если Вы захотите приделать к опциям еще и value, то такой способ не сработает. Тогда только цикл.
...
Рейтинг: 0 / 0
06.05.2013, 16:04
    #38249239
gudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отоброзить все значения поля с типом ENUM на HTML странице.
Все реализовал, не знаю как это правильно или нет, в 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
08.05.2013, 16:39
    #38252082
gudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отоброзить все значения поля с типом ENUM на HTML странице.
Немного усовершенствовал добавил $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
08.05.2013, 18:11
    #38252218
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отоброзить все значения поля с типом ENUM на HTML странице.
Непонятно, почему вы не можете воспользоваться тегом SRC
...
Рейтинг: 0 / 0
13.05.2013, 08:51
    #38254723
gudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отоброзить все значения поля с типом ENUM на HTML странице.
Я его просто не знаю такой тэг если есть возможность объясните.
...
Рейтинг: 0 / 0
13.05.2013, 08:53
    #38254727
gudy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отоброзить все значения поля с типом ENUM на HTML странице.
Вернее не пойму куда его здесь применить.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Отоброзить все значения поля с типом ENUM на HTML странице. / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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