Здравствуйте Есть два select, в первый загружает из mysql. Выбираю в первом должно загрузить во второй из mysql, но не загружает. index.php Код (PHP): <script src="jquery-1.12.1.min.js"></script> <script> $(document).ready(function() { $('#city').change(function() { var code = $(this).val(); var data = 'code='+code; alert(data); $.ajax({ type : "POST", url : "street.php", data : data, cache : false, success : function(html) { $('#street').html(html); } }); }); }); </script> <form method='post' > <select name="city" id="city"> <?php include "conn.php"; $query = 'SELECT DISTINCT(gorod) FROM controll'; $result = mysql_query($query) or die('sql_query_aborted: ' . mysql_error()); while($object = mysql_fetch_object($result)){ echo "<option value = '$object->gorod' > $object->gorod </option>"; } ?> </select> <select name="street" id="street"> <option selected="selected">AAAAAAAAA</option> </select> </form> street.php Код (PHP): <?php include 'conn.php'; echo $_POST['code']; if(isset($_POST['code'])) { $query = "select DISTINCT(adress) from controll where gorod='".$_POST['code']."'"; $result = mysql_query($query) or die('Запрос не удался: ' . mysql_error()); while($object = mysql_fetch_object($result)){ echo "<option value = '$object->adress' > $object->adress </option>"; } } ?> conn.php Код (PHP): <?php $link = mysql_connect('localhost', 'root', '') or die('Не удалось соединиться: ' . mysql_error()); mysql_set_charset('cp1251',$link); mysql_select_db('controll') or die('Не удалось выбрать базу данных'); ?> Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
у тебя скрипт вернет пустоту если ничего не найдено — видимо так и происходит. выводи в лог или в "ошибочный ответ" что за параметры приняты и разбирайся с этим.
если даже если из street.php убрать mysql Код (PHP): <?php if(isset($_POST['code'])) { echo "<option value = BBBBBBBBBBBB > BBBBBBBBBBBB </option>"; } ?> Все равно во второй select не загружает. Сам блок ajax у меня правильно написан? Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, результаты array/object dump и т. д.
Слабая попытка. А если $_POST['code'] не задан/пустой/нулевой? Добавлено спустя 1 минуту 25 секунд: да делать мне нечего, как всё проверять ))) смотри консоль браузера (chrome: Ctrl+Shift+J) нет ли там ошибок. ставь брейкпоинты и отлаживайся. на форуме принято подсказывать путь, учить искать ошибки, а не делать за кого-то всю работу.
Что бы проверить что клиент что то получает напиши просто Код (PHP): ... success : function(html) { alert(html); } ... что бы проверить что php скрипт запускается и отрабатывает напиши: Код (PHP): <?php echo "server ok!"; ?> Сначала добейся того, что бы эта связка работала, а потом добавляй уже свою бизнес логику. Есть подозрение что у вас путь к скрипту прописан неверно. url : "street.php", У вас .php и .js лежат в одной папке? Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, результаты array/object dump и т. д.
с ajax разобрался все передает. При загрузке из mysql в select, выдает ошибку You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '�аган с' at line 1 Проверял сам текст запроса подгружает нормально в select select DISTINCT(adress) from controll where gorod=Баган с не могу понять, что за трабла с кодировками, сама база в mysql на utf8
добавил в запросе кавычки , теперь ничего не грузит, даже ошибку. убираю кавычки, попадаю в блок if($result==NULL), и грузит ошибку и текст запроса вот мой street.php Код (PHP): <?php include 'conn.php'; if(isset($_POST['city'])==true) { $id=$_POST['city']; $query = "select DISTINCT(adress) from controll where gorod='".$id."'"; $result = mysql_query($query); $res = mysql_error($link); if($result==NULL) { echo "<option>$res</option>"; echo "<option value = '$query' >$query</option>"; } else { while($object = mysql_fetch_object($result)){ echo "<option value = '$object->adress' > $object->adress </option>"; } } } Подсказка от модератора: Любой код или текст конфигурации пишите между тегом [code=php] и [/code]. Используйте отступы в коде для форматирования текста. Это помогает быстрее понять вас, увеличивает шанс на получение ответа. Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, результаты array/object dump и т. д.
слов уже нет… что написал то и получил. не понимаешь нифига, так загляни в справку по функции чтоли, там масса примеров, всякие случаи рассмотрены в комментариях. если блин всё время надеяться на кого-то, так и будешь на жопе сидеть и жаловаться.
моя проблема, в том что попытался тебе помочь. всё, <матное слово> конём ))) Добавлено спустя 1 минуту 16 секунд: напиши маленькую программусечку без всякого аякса, которая будет для заранее известного id выводить список адресов или что там у тебя. отладь её. по справке выясни какие значения могут возвращать используемые функии, проверяй только на них, а не на отбалды. mysql_error() вызывай только при наступлении ошибки. усложняй постепенно, делай только то, что понял.
Изначально так и было написано без аякса и все работало. Теперь надо чтоб страница не перегружалась при выборе из select. Щас у меня проблема с кодировками Illegal mix of collations (utf8_general_ci,IMPLICIT) and (cp1251_general_ci,COERCIBLE) for operation '=' . Решу ее без твоего нытья, в итоге на этом форуме , мне никто и не помог и нах он тогда нужен, тему можно закрывать.
не ври хотябы себе какзалось бы, откуда ей взяться, ведь всё работало! попутного ветра! ты ведь пойдешь искать добрых фей в другое место? не обижайся если на другом форуме я тебя процитирую.
Вячеслав, если к 30 годам ты не научился общаться с людьми, то видимо уже не судьба. Здесь ты забанен.