Как получить выбранное значение из выпадающего списка

sasha7

Новичок
Здравствуйте!
Подскажите пожалуйста как получить выбранное пользователем значение из выпадающего списка, значения которого выбираются по Номеру квитанции из таблицы БД. В общем есть две таблицы и чтобы заполнить вторую необходимо выбрать из выпадающего списка №квитанции из первой (код ниже):
PHP:
<?php
    mysql_connect("localhost", "root", "");
	mysql_select_db("klients");
$sql2 = "SELECT * FROM remont";
$result2 = mysql_query($sql2) or die(mysql_error());
$table2 = "<table border=1>";
	$table2.="<tr>";
	$table2.="<td>ID</td>";
    $table2.="<td>Код клиента</td>";
	$table2.="<td>Выполненные работы</td>";
	$table2.="<td>Стоимость работ</td>";
	$table2.="</tr>";
while ($row = mysql_fetch_assoc($result2))
{
	$table2.="<tr>";
	$table2.="<td>".$row['ID']."</td>";
	$table2.="<td>".$row['np']."</td>";
	$table2.="<td>".$row['performedwork']."</td>";
	$table2.="<td>".$row['cost']."</td>";
	$table2.="</tr>";
}
$table2.="</table>";
echo $table2;
echo "</BR>";

		if (isset($_POST['np'])) {$np = $_POST['np']; if ($np == '') {unset($np);} }
		if (isset($_POST['performedwork'])) {$performedwork = $_POST['performedwork']; if ($performedwork == '') {unset($performedwork);} }
		if (isset($_POST['cost'])) {$cost = $_POST['cost']; if ($cost == '') {unset($cost);} }
		if(isset($np) && isset($performedwork) && isset($cost))
		{
			echo "Переменные для таблицы 3 введены";
			$sql3 = 'INSERT INTO remont(np, performedwork, cost) 
			VALUES("'.$np.'", "'.$performedwork.'", "'.$cost.'")';
			$temp = mysql_query($sql3);
		}
			if($temp)
            {			
			echo '<center><p><b>Данные успешно добавлены в третью таблицу!</b></p></center>';
				$npt2 = mysql_insert_id();
				echo " Текущий номер поля таблицы 2 - $npt2";
			}
			else 
				{echo '<center><p><b>Для добавления в таблицу 3 заполните поля ниже:</b></p></center>';}
				
?>
<html>
<form method='post' action='/phpsite/index12.php'>
Номер квитанции: <?php $result =  mysql_query("SELECT nk FROM priem4");
echo "<select name='my_list'>";
while($row = mysql_fetch_array($result))
{
   // В цикле создаем элементы списка из результата запроса 
   echo "<option value='".$row['nk']."'".((isset($_REQUEST['my_list'])&&($_REQUEST['my_list']==$row['nk']))?" selected":"").">".$row['nk']."</option>";
}

echo "</select>"; ?><br />
Выполненные работы: <input type='text' name='performedwork' /><br />
Стоимость работы: <input type='text' name='cost'<br />
<input type='submit' value='Добавить запись'/>
</html>
Проблема состоит в том, что я не могу получить выбранное пользователем значение из выпадающего списка. Подскажите пожалуйста, как правильно получить выбранное значение из выпадающего списка.
 

Фанат

oncle terrible
Команда форума
Точно так же, как и из любого другого поля: из массива $_POST, ключом которого является имя поля в форме.

к базам данных, кстати сказать, этот вопрос не имеет никакого отношения.

ну, и, понятное дело, про качество и безопасность кода лучше ничего не говорить
 

sasha7

Новичок
PHP:
echo "<center><form method='post'> 
<select name='np'> 
<option value=''>-- Выберите категорию --</option>"; 

$result =  mysql_query("SELECT nk FROM priem4");

while ($row = mysql_fetch_array($result)){ 

echo "<option value=' ".$row['id']." '>".$row['nk']."</option>"; 
} 
echo '</select></form></center>'; 
        if (isset($_POST['np'])) {$np = $_POST['np']; if ($np == '') {unset($np);} }
		if (isset($_POST['performedwork'])) {$performedwork = $_POST['performedwork']; if ($performedwork == '') {unset($performedwork);} }
		if (isset($_POST['cost'])) {$cost = $_POST['cost']; if ($cost == '') {unset($cost);} }
		if(isset($np) && isset($performedwork) && isset($cost))
		{
			echo "Переменные для таблицы 3 введены";
			//////////////////////////////////////////////////////////////////
			if (isset($_POST['submit'])) { 
			$sql3 = 'INSERT INTO remont(np, performedwork, cost) 
			VALUES("'.$np.'", "'.$performedwork.'", "'.$cost.'")';
			$temp = mysql_query($sql3);} else {};
		}
Внес изменения (ключом является np), но добавление записей после нажатия кнопки во вторую таблицу не происходит, подскажите пожалуйста что не так?
 

Фанат

oncle terrible
Команда форума
зачем было вносить какие-то изменения, если поле select уже было?
только имя его было не np.
надо было всего лишь поменять его либо в форме, либо в скрипте
 

sasha7

Новичок
Большое спасибо, все заработало, сделал как Вы посоветовали заменил в форме имя my_list на np.
 
Сверху