Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.03.2018, 18:39
Новичок на форуме
Отправить личное сообщение для yarnik94 Посмотреть профиль Найти все сообщения от yarnik94
 
Регистрация: 20.03.2018
Сообщений: 2

Передача значения select в бд
Существует запрос тут при нажатии кнопки он берет значение айди товара и по идее должен брать значение option
$('.add-cart-style-list,.add-cart-style-grid,.add-cart,.random-add-cart').click(function(){
              
 var  tid = $(this).attr("tid");
 var  size = $('#size :selected').text();

 $.ajax({
  type: "POST",
  url: "/include/addtocart.php",
  data: "id="+tid+"&size="+size,
  dataType: "html",
  cache: false,
  success: function(data) { 
  loadcart();
      }
});

Форма
<form method="POST" action="/include/addtocart.php" name="form">
<p>Размер:

<select name="size" id="size"  >
<option value="41">41</option>
<option value="42">42</option>
<option value="43">43</option>
<option value="44">44</option>
<option value="45">45</option>
</select>

</p>
</p>
</form>

и обработчик addtocart.php
<?php
if($_SERVER["REQUEST_METHOD"] == "POST")
{
define('myeshop', true);  
include("db_connect.php");
include("../functions/functions.php");
  
$id = clear_string($_POST["id"]);
$size = (int)$_POST["size"];
$result = mysql_query("SELECT * FROM cart WHERE cart_ip = '{$_SERVER['REMOTE_ADDR']}' AND cart_id_products = '$id'",$link);
If (mysql_num_rows($result) > 0)
{
$row = mysql_fetch_array($result);    
$new_count = $row["cart_count"] + 1;
$update = mysql_query ("UPDATE cart SET cart_count='$new_count' WHERE cart_ip = '{$_SERVER['REMOTE_ADDR']}' AND cart_id_products ='$id'",$link);   
}
else
{
    $result = mysql_query("SELECT * FROM tableproducts WHERE products_id = '$id'",$link);
    $row = mysql_fetch_array($result);
    
    		mysql_query("INSERT INTO cart(cart_id_products,cart_price,size,cart_datatime,cart_ip)
						VALUES(	
                            '".$row['products_id']."',
                            '".$row['price']."',
                            '.$size.',					
							NOW(),
                            '".$_SERVER['REMOTE_ADDR']."'                                                                        
						    )",$link);	
}
}
?>
.Но значение $size в обработчике 0 , когда ставлю определенное значение например $size= 42; он все как положено записывает в бд и выводит.Почему не передается методом пост значение селекта?
Ответить с цитированием
  #2 (permalink)  
Старый 20.03.2018, 18:54
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

<select name="size" id="size"  >
<option value="41">41</option>
<option value="42">42</option>
<option value="43">43</option>
<option value="44">44</option>
<option value="45">45</option>
</select>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
 $('#size').on('change', function() {
     alert($('#size').val());
});
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 20.03.2018, 19:03
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

clear_string($_POST["id"]); - что это?
Ответить с цитированием
  #4 (permalink)  
Старый 20.03.2018, 19:13
Новичок на форуме
Отправить личное сообщение для yarnik94 Посмотреть профиль Найти все сообщения от yarnik94
 
Регистрация: 20.03.2018
Сообщений: 2

Сообщение от laimas Посмотреть сообщение
clear_string($_POST["id"]); - что это?
function clear_string($cl_str)
{

$cl_str = strip_tags($cl_str);
$cl_str = mysql_real_escape_string($cl_str);
$cl_str = trim($cl_str);

return $cl_str;
}
функция удаляет спец символы, пробелы, нулевые знач и теги html. POST_["id"] передает значение айди товара.
Ответить с цитированием
  #5 (permalink)  
Старый 20.03.2018, 19:26
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Ну в общем то цифровые достаточно приводить к типу integer, и заключать их в кавычки не нужно.

И все эти запросы можно объединить.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача нового значения value в select tvixa Элементы интерфейса 5 08.09.2015 15:41
Как изменить значение jquey range в зависимости от значения select? drkrol jQuery 1 07.09.2015 01:24
Проверка нескольких select на одинаковые значения emulexx Общие вопросы Javascript 6 07.04.2015 15:19
изменение значения input при смене значения select galart jQuery 4 30.01.2015 19:39
Как в oninput получить значения select? Jeick9 Events/DOM/Window 9 11.10.2014 20:18