Однако список получается пустым. Точнее, в нем не отображаются значения. Хотя эти значения однозначно существуют и выбираются из базы.
Пожалуйста, подскажите в чем причина такого поведения? Спасибо.
Выбираю и помещаю значения так:
<?php
//Подключаемся к серверу и БД
include "config.php";
//Формируем запрос к БД
$query = "SELECT * FROM `product_cat`";
//Отправляем запрос
$res = mysql_query($query);
//Проверяем успешность запроса
if(!$res) exit("Ошибка запроса: ".mysql_error());
//Проверяем наличие записей
if(mysql_num_rows($res)>0)
{
?>
<html>
<head>
<title>Добавление нового продукта в БД</title>
</head>
<body>
<h2>Добавить продукт:</h2>
<form name="addproduct" action="addproduct.php" method="post">
<table>
<tr>
<td align=right>Наименование продукта: </td>
<td><input type=text name=nameproduct size=50></td>
</tr>
<tr>
<td align=right>Категория продукта: </td>
<td><select name=productcat>
<?php // В цикле выводим опции селекта
while($prod_cat = mysql_fetch_array($res)) { ?>
<option value="<?php $prod_cat['id_prod_cat'] ?>"><?php $prod_cat['name_product_cat'] ?></option>
<?php }} ?>
</select></td>
</tr>
</table>
</form>
</body>
</html>
P.S. При этом в таком коде все отображается:
<?php
//Подключаемся к серверу и БД
include "config.php";
//Формируем запрос к БД
$query = "SELECT * FROM `product_cat`";
//Отправляем запрос
$res = mysql_query($query);
//Проверяем успешность запроса
if(!$res) exit("Ошибка запроса: ".mysql_error());
//Проверяем наличие записей
if(mysql_num_rows($res)>0)
{
echo "<select name=productcat>";
// В цикле выводим опции селекта
while($prod_cat = mysql_fetch_array($res))
{
echo "<option>".$prod_cat['name_product_cat']."</option>";
}
echo "</select>";
}
Спустя 4 минуты, 4 секунды (28.04.2010 - 21:43) sergeiss написал(а):
А почему ты считаешь, что вот это
Цитата (baston @ 28.04.2010 - 22:39) |
<?php $prod_cat['id_prod_cat'] ?> |
будет что-то выводить???
Надо так:
<?php echo $prod_cat['id_prod_cat'] ?>
Спустя 8 минут, 3 секунды (28.04.2010 - 21:51) baston написал(а):
sergeiss
Спасибо, а то уже голова разболелась - не могу сообразить, в чем дело. Добавил эхо в вывод в селект и отобразилось.
Думал, сработает как обычная подстановка.
Спасибо, а то уже голова разболелась - не могу сообразить, в чем дело. Добавил эхо в вывод в селект и отобразилось.
Думал, сработает как обычная подстановка.
Спустя 18 часов, 10 минут, 38 секунд (29.04.2010 - 16:02) baston написал(а):
И вопрос совсем чайницкий: как получить выбранное в option значение?
Понимаю, что так:
Но переменная в другой скрипт не передается...
Понимаю, что так:
$sel_opt = $_POST['productcat'];
echo $sel_opt;
Но переменная в другой скрипт не передается...
Спустя 1 минута, 50 секунд (29.04.2010 - 16:04) DedMorozzz написал(а):
а как ты передаёшь его(иль её)?
Спустя 3 минуты, 12 секунд (29.04.2010 - 16:07) baston написал(а):
Да, в том-то и дело, что даже не могу прочитать об этом и понять, как же передать выбранное значение в переменную. Такой ступор, что мама не горюй! Вроде бы не мальчик уже в PHP, а ступор...
Можете хотя бы алгоритм подсказать для перезагрузки мозгов?
Мой скрипт в первом сообщении.
Спасибо.
Можете хотя бы алгоритм подсказать для перезагрузки мозгов?
Мой скрипт в первом сообщении.
Спасибо.
Спустя 36 минут, 46 секунд (29.04.2010 - 16:44) baston написал(а):
Значения должны передаваться по клику на кнопке. Обработчик - файл, указанный в теге action формы. Но данные не передаются, вот в чем беда...
Спустя 6 минут, 18 секунд (29.04.2010 - 16:50) DedMorozzz написал(а):
<select name="productcat">
т.е. возьми в кавычки.
$myvariable=$_POST['productcat'];
echo $myvariable;
Спустя 5 минут, 47 секунд (29.04.2010 - 16:56) baston написал(а):
Взял - безрезультатно. Null в выводе.
Спустя 3 минуты, 26 секунд (29.04.2010 - 16:59) DedMorozzz написал(а):
<form method="post" action="test.php">
<b>test:</b> <select name="ctrlCompareSearchFrame">
<option value="1">1 or under</option>
<option value="aa">2</option>
<option value="bb">3</option>
</select>
<INPUT TYPE="submit" VALUE="Послать">
</form>
<?php
$agenumber=$_POST['ctrlCompareSearchFrame'];
echo $agenumber; //выводит всё
?>
Спустя 1 минута, 45 секунд (29.04.2010 - 17:01) DedMorozzz написал(а):
кстати, там Сергей сказал уже добавить ечо. Покажи свой НЫНЕШНИЙ код
Спустя 2 часа, 20 минут, 14 секунд (29.04.2010 - 19:21) baston написал(а):
Прошу прощения за задержку, только что приехал с работы.
Вот код с формой:
Вот код с формой:
//Подключаемся к серверу и БДА это код обработчика, указанного в action:
include "config.php";
//Формируем запрос к БД
$query = "SELECT * FROM `product_cat`";
//Отправляем запрос
$res = mysql_query($query);
//Проверяем успешность запроса
if(!$res) exit("Ошибка запроса: ".mysql_error());
//Проверяем наличие записей
if(mysql_num_rows($res)>0)
{
?>
<html>
<head>
<title>Добавление нового продукта в БД</title>
</head>
<body>
<h2>Добавить продукт:</h2>
<form name="addproduct" action="addproduct.php" method="post">
<table>
<tr>
<td align=right>Наименование продукта: </td>
<td><input type=text name="nameproduct" size=50></td>
</tr>
<tr>
<td align=right>Категория продукта: </td>
<td><select name="productcat">
<?php // В цикле выводим опции селекта
while($prod_cat = mysql_fetch_array($res)) { ?>
<option value="<?php echo $prod_cat['id_prod_cat'] ?>"><?php echo $prod_cat['name_product_cat'] ?></option>
<?php }} ?>
</select></td>
</tr>
<tr>
<td></td>
<td><input type=submit name=submit value=Добавить></td>
</tr>
</table>
</form>
</body>
</html>
$sel_opt = $_POST['productcat'];
echo $sel_opt;
var_dump($sel_opt);
Спустя 14 минут, 41 секунда (29.04.2010 - 19:36) baston написал(а):
Приношу свои извинения еще раз за беспокойство. Как только я запустил скрипт в браузере, то все корректно отобразилось.
До этого я проверял через PHP Expert Editor и он мне, паразит, возвращал Null. Не думал, что проверять в нем работу скрипта (более сложного, чем Hello, World) чревато.
Всем огромное спасибо за помощь.
До этого я проверял через PHP Expert Editor и он мне, паразит, возвращал Null. Не думал, что проверять в нем работу скрипта (более сложного, чем Hello, World) чревато.
Всем огромное спасибо за помощь.