storng
Новичок
генерирую выпадающий - при сабмите передаётся не то что нужно, почему ?
делаю запрос к БД и на лету формирую выпадающий список:
Вроде бы всё красиво ,нормально формирует,
в базе данны в таблице категорий такие данные
id_category/name_category
1 / Технология
2 / Литература
3 / Наука
4 / Музыка
Так вот, при клике, передаётся не значение value, а тот текст , который беру из имени категории, т.е. не ID передаётся, а наименование.
Делаю:
И вижу
Почему такое может быть, голову сломал ???
-~{}~ 07.09.07 12:38:
+
а вот другой пример, точно такого же списка, так передаётся именно значение value, а не текст.
Посмотрел сформированный HTML в первом и втором варианте.
Тот код, который неправильно возвращает значение:
А вот который правильно:
Если честно, разницы не вижу, не пойму в чём дело...
-~{}~ 07.09.07 12:39:
Второй, тестовый правильный вариант, возвращает то что нужно :
Где я глючу ?
делаю запрос к БД и на лету формирую выпадающий список:
PHP:
<?
mysql_connect($server,$user,$pass) or die(" Нет коннекта !");
mysql_select_db($DB);
?>
<form action="addnews.php" method="POST"> <br>
<?
mysql_connect($server,$user,$pass) or die(" Нет коннекта !");
mysql_select_db($DB);
$request= "SELECT id_category, name_category FROM category_tbl ORDER BY id_category";
$result=mysql_query($request);
echo "<select name=\"idcat\">"."\n";
while($row=mysql_fetch_array($result))
{
echo "<option valuе=\"".$row['id_category']."\">".$row['name_category']."\n";
}
echo "</select>"."\n"."\n"."\n"."\n";
?>
<input type="submit" name="sendnews" value="Послать">
</form>
в базе данны в таблице категорий такие данные
id_category/name_category
1 / Технология
2 / Литература
3 / Наука
4 / Музыка
Так вот, при клике, передаётся не значение value, а тот текст , который беру из имени категории, т.е. не ID передаётся, а наименование.
Делаю:
PHP:
print_r($_POST);
PHP:
Array ( [idcat] => Музыка [sendnews] => Послать )
-~{}~ 07.09.07 12:38:
+
а вот другой пример, точно такого же списка, так передаётся именно значение value, а не текст.
PHP:
<?
if (isset($_POST['spisok']))
{
print_r($_POST);
}
?>
<form action="test.php" method="POST">
<select name="spisok">
<option valuе="1">значение 1
<option value="2">значение 2
<option value="3">значение 3
<option value="4">значение 4
<option value="5">значение 5
</select>
<br>
<input type="submit" name="sendnews" value="кнопка">
</form>
Тот код, который неправильно возвращает значение:
PHP:
<form action="addnews.php" method="POST"> <br>
<select name="idcat">
<option valuе="1">Технология
<option valuе="3">Наука
<option valuе="5">Литература
<option valuе="6">Музыка
<option valuе="11">Спорт
<option valuе="13">Биология
<option valuе="14">Изотерика
<option valuе="15">Астрономия
</select>
<input type="submit" name="sendnews" value="Послать">
</form>
PHP:
<form action="test.php" method="POST">
<select name="spisok">
<option valuе="1">значение 1
<option value="2">значение 2
<option value="3">значение 3
<option value="4">значение 4
<option value="5">значение 5
</select>
<input type="submit" name="sendnews" value="кнопка">
</form>
-~{}~ 07.09.07 12:39:
Второй, тестовый правильный вариант, возвращает то что нужно :
PHP:
Array ( [spisok] => 3 [sendnews] => кнопка )