Показать сообщение отдельно
Старый 05.11.2013, 14:42   #24
Visible
Пользователь
 
Регистрация: 11.07.2010
Сообщений: 56
Сказал(а) спасибо: 16
Поблагодарили 0 раз(а) в 0 сообщениях
Visible На верном пути
По умолчанию

Цитата:
Сообщение от SergiK_KilleR Посмотреть сообщение
что передает поле $row['entry'] ? автоинкрементное значение?
переписанный вариант того что вы пытались сделать. Проверку введенных данных (GET/POST) желательно делать до передачи в какие-либо функции, это упростит понимание того что делает сама функция и отпадет надобность дополнительных проверок в самих функциях.

Код:
<?
function add_line($name){
	global $row;

	$query = sprintf(
		"INSERT INTO `line` (`id_area`, `name`) VALUES ('%d','%s')",
		$row['entry'],
		mysql_real_escape_string($name)
	);
	$res = mysql_query($query);

	if(!$res){
		exit("<b>Query failed:</b> " . mysql_error());
	}

	return true;
}

if(isset($_POST['add_line'])){
	$name = isset($_POST['name']) ? trim($_POST['name']) : null;
	if($name){
		add_line($name);
	}
}
?>
<html><head><title>Сортировка по категориям</title>
</head>
<body>
<center>
<form method="post">
	<select name="categories">
		<option value=''>-- Выберите категорию --</option>
<?         
$result =  mysql_query ("SELECT * FROM area") 
                or die ("<b>Query failed:</b> " . mysql_error());
while ($row = mysql_fetch_array($result)){
	$selected = (isset($_POST['categories']) && $row['entry'] == intval($_POST['categories'])) ? " selected" : "";
	echo "<option value='".$row['entry']."'".$selected.">".$row['name']."</option>";
}
?>
	</select>
</form>
</center>

<form method="POST" name="add_line">
	<table>
	<tr>
		<td>поле</td>
		<td><input type="text" name="name"></td>
	</tr>
	<tr>
		<td><input type="submit" name="submit" value="save"></td>
	</tr>
</table>
</form>
</body></html>
в приведенном мной примере переменная $row должна быть объявлена до вызова функции add_line($name).
спасибо, я уже подумал, лучше не подгружать через функции инсерт в базу, что то мне разонравилось реализация через функции. а с сохранением селекта, очень интересно, попробую разобраться. сейчас все пытаюсь jquery в селект подгружать научиться, динамически создавать запрос и выводить в тег селект.
Visible вне форума   Ответить с цитированием