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. Предстоит безсоная ночь(((. У кого какие мысли почему не работает? |
Цитата:
Браузер его все равно оттуда вытолкнет )) Или проигнорирует - не знаю |
Цитата:
|
sloyi, я х/з за каким ты фигом разместил тут столько кода... :)
Но в "моем" SQL такое SELECT * FROM table WHERE prop = СТРОКА работать не будет. :no: А будет работать такое SELECT * FROM table WHERE prop = 0123456789 Т.е. любое число. Или SELECT * FROM table WHERE prop = 'СТРОКА' |
Цитата:
<option>;DROP TABLE Message2011</option> Это должно все исправить. Ну кто-нибудь потом поможет исправить )) |
Цитата:
|
Div я не кинул в селект. это просто сюда писал и ошибся у меня в коде все нормально. Да извените говнокод согласен пытаюсь научиться с помощью вот таких ваших критик. Только говорите пожалуйста нормально что именно не нравиться в коде чтоб таких ошибок я больше не делал. спасибо вам большое за то что откликнулись. ksa я исправил как ты сказал все работает. Еще раз спасибо парни;)
|
да с названиями переменных мне нужно поработать. Просто я работаю первый месяц а мне сразу сложный сайт дали. не очень сложный но приличный )))) мозг кипит с него уже))) с js дружу но только на привет пока)))
|
Парни а еще вопрос возможно крайне глупый но тем не менее можно ли задать условие в запросе вот примерно так
("SELECT * FROM `Message2011` WHERE `Cena` >= ".$pole_min." if($parametr_1!=''){ AND `Cena` <= ".$pole_max."}, $db); |
Цитата:
|
sloyi, но никто не мешает формировать саму строку запроса, как тебе захочется. ;)
|
т.е. мне нужно через if прописывать все возможные варианты? т.к. у меня есть 3 параметра и они пустые. и при за просе если они пустые мы не обращаем на них внимание
|
Пример на COS...
s sql="SELECT * FROM table WHERE prop >= "+min s:prm'="" sql=sql+" And prop <= "+ max w !,sql |
сейчас попробую но боюсь не получиться код не могу прочитать
|
Цитата:
|
Цитата:
|
Цитата:
|
кончно не пробывал. А намек так себе если чесно
|
Цитата:
|
Товарищ ТС, прекращайте заниматься садомазо. Так нетрадиционно-ориентированные делают:
$myrow_vendor = mysql_fetch_array($Subdivision_vendor); do { echo $myrow_vendor['Name']; } while ($myrow_vendor = mysql_fetch_array($Subdivision_vendor)); Православные делают вот так: while ($myrow_vendor = mysql_fetch_array($Subdivision_vendor)) echo $myrow_vendor['Name']; |
Стопудов такой вот как sloyi делал сайт детской полУклиники куда я зашел с карты посмотреть расписание. Показать? Представьте пока - вокруг необъятно пустой страницы по перимерту расположены кнопари с коробок спичек размером. То есть начинаешь читать снизу вверх, потом слева направо, потом сверху вниз. При этом некоторые кнопари имеют подкнопари исправно выпадающие внутрь пустой страницы. Она не пустая, конечно, там приветственная телега которую конечно ничто не будет читать. Гениально! Один раз только можно зайти - второй раз уже не рискнешь.
|
Часовой пояс GMT +3, время: 03:31. |