powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Асинхронный AJAX проблема с выводом значений из БД
9 сообщений из 9, страница 1 из 1
Асинхронный AJAX проблема с выводом значений из БД
    #38284810
dakath
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый.

Есть простая тестовая таблица, в которой 3 поля, id, country и city_name.
Задача вывести все города которые == выбранной стране.
Написал следующий код:
Страница test.php

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
<html>
<head>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js">  </script>
    <script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>

    <script type="text/javascript">
        $(document).ready(function(){
            $("#country").change(function(){
                 var country = $("#country").val();
                 $.ajax({
                    type:"GET",
                    url:"test.php",
                    data:"country="+country,
                    success: function(data) {
                      $("#city").html(data);
                    }
                 });
            });
       });
    </script>
 </head>
 <body>

    Страна :
    <select name="country" id="country">
      <option>-Страна-</option>
    <?php 
    include "bd.php"; 
    $result = mysql_query("SELECT DISTINCT country FROM test_sc ORDER BY `id` DESC");
    while($row = mysql_fetch_array($result)){

    echo "<option value=$row[country]>$row[country]</option>";

    } ?>
    </select>


    Город :
    <select name="city" id="city">
        <option>-Город-</option>
		<?php
include "bd.php";

$country = $_GET["country"];
$result = mysql_query("SELECT city_name FROM test_sc WHERE country='$country'");
   while($row = mysql_fetch_array($result)){
     echo"<option value=$row[city_name]>$row[city_name]</option>";

   }
?>
   </select>
  </body>
</html>



Проблема в том что после выбора страны, не отображаются города, хотя если смотреть в консоль firebug то response правильный.
Если в адресной строке явно указать страну(test.php?country=USA), то города выводятся.
Проблема воспроизводится только если передавать данные в эту же страницу, и нужна именно такая реализация.
Возможно ли решить эту проблему?

Буду благодарен за любую помощь, заранее спасибо.
Модератор: Что за закорючки в коде? Просьба представлять код, уже очищенный от серверного (скомпилированный). В противном случае будет переноситься в раздел ПэХаПэ или удаляться.
[IDV]
...
Рейтинг: 0 / 0
Асинхронный AJAX проблема с выводом значений из БД
    #38284816
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakathхотя если смотреть в консоль firebug то response правильныйпокажите какой, например
...
Рейтинг: 0 / 0
Асинхронный AJAX проблема с выводом значений из БД
    #38285084
dakath
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Паганель,
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
GET test.php?country=USA 200 OK

Ответ, список городов возвращается, но на странице не выводятся.
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js">  </script>
    <script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>

    <script type="text/javascript">
        $(document).ready(function(){
            $("#country").change(function(){
                 var country = $("#country").val();
                 $.ajax({
                    type:"GET",
                    url:"test.php",
                    data:"country="+country,
                    success: function(data) {
                      $("#city").html(data);
                    }
                 });
            });
       });
    </script>
 </head>
 <body>

    Страна :
    <select name="country" id="country">
      <option>-Страна-</option>
    <option value=Germany>Germany</option><option value=USA>USA</option>    </select>


    Город :
    <select name="city" id="city">
        <option>-Город-</option>
		<option value=Los Angeles>Los Angeles</option><option value=NY>NY</option><option value=Chicago>Chicago</option>   </select>
  </body>
</html>



Скрин: http://s019.radikal.ru/i603/1306/77/015b0de815cb.jpg

Модератор,
Если считаете что нужно перенести в раздел ПэХаПэ, то просьба перенести. Я специально написал такой код чтобы продемонстрировать ошибку, вдруг кто захочет у себя запустить.
...
Рейтинг: 0 / 0
Асинхронный AJAX проблема с выводом значений из БД
    #38285098
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделайте так, чтобы при запросе городов возвращались города
а не вся страница
...
Рейтинг: 0 / 0
Асинхронный AJAX проблема с выводом значений из БД
    #38285122
dakath
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Паганель,
Не подскажите как это сделать в рамках одной страницы? Второй день уже гуглю, ответ так и не нашел.
...
Рейтинг: 0 / 0
Асинхронный AJAX проблема с выводом значений из БД
    #38285152
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakathНе подскажите как это сделать в рамках одной страницы?Нет. Я с php не работал никогда
...
Рейтинг: 0 / 0
Асинхронный AJAX проблема с выводом значений из БД
    #38294425
AcAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Паганель, можно так попробовать, если нужно все в одном файле.
Лучше вынести код получения городов в отдельную функцию.


Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
<?
if (!isset($_SERVER['HTTP_X_REQUESTED_WITH'])) || $_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest') {
?>
<html>
<head>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js">  </script>
    <script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>

    <script type="text/javascript">
        $(document).ready(function(){
            $("#country").change(function(){
                 var country = $("#country").val();
                 $.ajax({
                    type:"GET",
                    url:"test.php",
                    data:"country="+country,
                    success: function(data) {
                      $("#city").html(data);
                    }
                 });
            });
       });
    </script>
</head>
<body>

    Страна :
    <select name="country" id="country">
      <option>-Страна-</option>
    <?php 
    include "bd.php"; 
    $result = mysql_query("SELECT DISTINCT country FROM test_sc ORDER BY `id` DESC");
    while($row = mysql_fetch_array($result)){
		echo "<option value=$row[country]>$row[country]</option>";
    } ?>
    </select>


    Город :
    <select name="city" id="city">
        <option>-Город-</option>
		<?php
include "bd.php";

$country = $_GET["country"];
$result = mysql_query("SELECT city_name FROM test_sc WHERE country='$country'");
   while($row = mysql_fetch_array($result)){
     echo "<option value=$row[city_name]>$row[city_name]</option>";
   }
?>
   </select>
  </body>
</html>
<?
} else {
include "bd.php";

$country = $_GET["country"];
$result = mysql_query("SELECT city_name FROM test_sc WHERE country='$country'");
   while($row = mysql_fetch_array($result)){
     echo "<option value=$row[city_name]>$row[city_name]</option>";
   }
}
?>


...
Рейтинг: 0 / 0
Асинхронный AJAX проблема с выводом значений из БД
    #38294440
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AcAlexПаганель, можно так попробовать, если нужно все в одном файлемне не нужно :)

неужели в этом пхп не принято параметры юзать. инъекции не страшны что ли
...
Рейтинг: 0 / 0
Асинхронный AJAX проблема с выводом значений из БД
    #38294451
AcAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Паганель, прошу прощения - ошибся )
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Асинхронный AJAX проблема с выводом значений из БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]