Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   ajax и переменные (https://javascript.ru/forum/dom-window/50894-ajax-i-peremennye.html)

sloyi 16.10.2014 08:56

ajax и переменные
 
Ребята есть следующий код

<select class='select-vibor-strel' id='filter_dop'>
<option class='option-vibor'>Выбрать</option>
<option class='option-vibor'>Выбор 1</option>
<option class='option-vibor'>Выбор 2</option>
<option class='option-vibor'>123</option>
<div class='iskat-form'>Искать</div>
</select>


$(document).ready(function(){
var pole_3;

	$('.iskat-form').click(function(){
	pole_3 = document.getElementById('filter_dop').value;
	$.post("/netcat/modules/default/vivod-all-filter-function.php",
						{
						pole_3:pole_3,
						},
					function(data)
						{
						document.querySelector('.ves-spisok').innerHTML = data;
						return false;
						}
						
			);
      });
});


файл vivod-all-filter-function.php;
$pole_3 = $_POST["pole_3"];

$db = mysql_connect($MYSQL_HOST,$MYSQL_USER,$MYSQL_PASSWORD);
mysql_select_db($MYSQL_DB_NAME, $db);
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");

$Subdivision_vendor = mysql_query("SELECT * FROM `Message2011` WHERE `Dop_par` = ".$pole_3."", $db);
if(!$Subdivision_vendor){echo 'Товары ненайдены';}
else{
$myrow_vendor = mysql_fetch_array($Subdivision_vendor);
do
    {
     echo $myrow_vendor['Name'];
     }
     while ($myrow_vendor = mysql_fetch_array($Subdivision_vendor));



Проблема заключается в следующем; Не выводит совпадения. говорит что таких записей нет. Хотя в базе они есть и если выводишь переменную $pole_3 он выводит ее правильно и в базе смотришь есть поле с таким значением. Но если в переменной числовое значение то он выводит правильно но если есть хоть одна буква то он выводит что нет совпадений грешу на типы данных. в базе у меня char меняю типы и в js и в php ничего не вышло. менял и на int и на string. Помогите пожалуйста завтра deadline. Предстоит безсоная ночь(((. У кого какие мысли почему не работает?

danik.js 16.10.2014 09:12

Цитата:

Сообщение от sloyi
<div class='iskat-form'>Искать</div>

Ты зачем див засунул в <select> :D
Браузер его все равно оттуда вытолкнет )) Или проигнорирует - не знаю

danik.js 16.10.2014 09:15

Цитата:

Сообщение от sloyi
Помогите пожалуйста завтра deadline

Ой и говнокодище. Не буду помогать - умирай. Пусть заказчик знает что ты не умеешь кодить. :haha:

ksa 16.10.2014 09:18

sloyi, я х/з за каким ты фигом разместил тут столько кода... :)
Но в "моем" SQL такое

SELECT * FROM table WHERE prop = СТРОКА


работать не будет. :no:

А будет работать такое

SELECT * FROM table WHERE prop = 0123456789

Т.е. любое число. Или
SELECT * FROM table WHERE prop = 'СТРОКА'

danik.js 16.10.2014 09:21

Цитата:

Сообщение от sloyi
Но если в переменной числовое значение

А ты попробуй вот такое значение:
<option>;DROP TABLE Message2011</option>


Это должно все исправить. Ну кто-нибудь потом поможет исправить ))

danik.js 16.10.2014 09:22

Цитата:

Сообщение от sloyi
iskat-form

:D

sloyi 16.10.2014 09:26

Div я не кинул в селект. это просто сюда писал и ошибся у меня в коде все нормально. Да извените говнокод согласен пытаюсь научиться с помощью вот таких ваших критик. Только говорите пожалуйста нормально что именно не нравиться в коде чтоб таких ошибок я больше не делал. спасибо вам большое за то что откликнулись. ksa я исправил как ты сказал все работает. Еще раз спасибо парни;)

sloyi 16.10.2014 09:28

да с названиями переменных мне нужно поработать. Просто я работаю первый месяц а мне сразу сложный сайт дали. не очень сложный но приличный )))) мозг кипит с него уже))) с js дружу но только на привет пока)))

sloyi 16.10.2014 09:48

Парни а еще вопрос возможно крайне глупый но тем не менее можно ли задать условие в запросе вот примерно так

("SELECT * FROM `Message2011` WHERE `Cena` >= ".$pole_min." if($parametr_1!=''){ AND `Cena` <= ".$pole_max."}, $db);

ksa 16.10.2014 09:51

Цитата:

Сообщение от sloyi
можно ли задать условие в запросе вот примерно так

Нет конечно! :D


Часовой пояс GMT +3, время: 20:56.