Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выбор меню select, и запись в базу данных
 
 автор: DiMoN_TD   (19.12.2007 в 22:01)   письмо автору
 
 

Такой вопрос:
Значит у меня есть небольшая форма допустим:

<form method="post">
<select>
<option selected>Выберите элемент для записи</option>
<option>Элемент 1</option>
<option>Элемент 2</option>
<option>Элемент 3</option>
<option>Элемент 4</option>
</select>
</form>

Вот... и что мне нужно: Мне нужно сделать так, чтобы при выборе, значение этого поля АВТОМАТОМ записывалась в БД. Т.е. не придумывать какую-то там кнопку Submit, для того, чтобы ещё на неё нажимать... просто кол-во форм динамически изменяется, и это кол-во действительно может иногда достигать и, допустим, до 50. Не буду же я выбирать на каждую форму опцию, и нажимать каждый раз на кнопочку, куда гораздо удобнее просто выбрать пользователю, и эта запись сразу же появится в БД.

Как это можно реализовать?
Заранее благодарю!

   
 
 автор: fekss   (19.12.2007 в 22:06)   письмо автору
 
   для: DiMoN_TD   (19.12.2007 в 22:01)
 

через AJAX

<select onChange="tvoya_funkciya();">


вот так можешь вызывать, можешь попробовать взять на [url]dklab[/url] библиотеку для работы c JsHttpRequest


с ней примерно так будет все это дело выглядеть:


<script src="/lib/JsHttpRequest/JsHttpRequest.js"></script>

<script type="text/javascript" language="JavaScript">
function doInsert(value) {
  var req = new JsHttpRequest();
  req.onreadystatechange = function() {
    if (req.readyState == 4) { document.getElementById('mess').innerHTML = req.responseJS.mess; }
  }
  req.open(null, 'insert.php', true);
  req.send( { q: value } );
}
</script>




<div id="mess"></div>
<form method="post"  id="my_elements" enctype="multipart/form-data" onsubmit="return false">
<select name="spisok" onChange="doInsert(document.getElementById('my_elements'))">
<option value="0" selected>Выберите элемент для записи</option>
<option value="1">Элемент 1</option>
<option value="2">Элемент 2</option>
<option value="3"> Элемент 3</option>
<option value="4">Элемент 4</option>
</select>
</form> 


а insert.php

<?
require_once "/lib/JsHttpRequest/JsHttpRequest.php";
$JsHttpRequest =& new JsHttpRequest("windows-1251");

// $_REQUEST['spisok'] это твой выбранный элт

mysql_query("тут сделаешь свой INSERT") or die(mysql_error("или не сделаешь)"));

$GLOBALS['_RESULT'] = array(  "mess"  => "Говово." ); //а это сообщение что все прошло ок
?>


Вот как-то примерно так все это дело может выглядеть, если вкратце))
Ну или можете "изобрести свой велосипед" ))

   
 
 автор: DiMoN_TD   (19.12.2007 в 22:43)   письмо автору
 
   для: fekss   (19.12.2007 в 22:06)
 

О, огромное спасибо... хех.. только меня тут вразумили, что произойдёт, если пользователь просто крутанёт колесо прокрутки по этим Элементам и пойдёт запись, перезапись каждого... это ж сколько сразу запросов к БД будет и как будет грузить сервер нехило.. =(((
Ну ладно, на первых порах попробуем это, в конце-концов тоже надо учиться этим пользоваться =)

   
 
 автор: DiMoN_TD   (21.12.2007 в 21:05)   письмо автору
 
   для: DiMoN_TD   (19.12.2007 в 22:01)
 

понял, что срочно нужно изучать JavaScript, без него никуда =(

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования