ФорумПрограммированиеПыхнуть хотите?F.A.Q. → Интерактивный select без перезагрузки страницы

Интерактивный select без перезагрузки страницы

  • Juicy

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz 13 апреля 2009 г. 15:15, спустя 10 минут 58 секунд

    Оййй, попутала, вместо "Gr1_Name" должен быть SELECT…
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 13 апреля 2009 г. 16:03, спустя 48 минут 20 секунд

    $result1 = mysql_query("Gr1_Name FROM sub_grlev1 WHERE Gr1_ID like '0%'");
    это что за sql-синтаксис? где select?
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 13 апреля 2009 г. 16:04, спустя 19 секунд


    Оййй, попутала, вместо "Gr1_Name" должен быть SELECT…

    вместо или "select Gr1_Name…"?
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Juicy

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz 13 апреля 2009 г. 16:15, спустя 11 минут 17 секунд

    Вот так:
    $result1 = mysql_query("SELECT FROM sub_grlev1 WHERE Gr1_ID like '0%'");

    После switch($_REQUEST["country"]): переделала так:

    case "0":

    $result1 = mysql_query("SELECT FROM sub_grlev1 WHERE Gr1_ID like '0%'");
    $myrow1 = mysql_fetch_array($result1);

    break;

    case "1":
    $result1 = mysql_query("SELECT FROM sub_grlev1 WHERE Gr1_ID like '1%'");
    $myrow1 = mysql_fetch_array($result1);

    break;

    default: $myrow1=null;
    endswitch;

    do
    {
    printf ("ID: %s %s<br>",$myrow1['Gr1_ID'],$myrow1['Gr1_Name']);
    }
    while ($myrow1 = mysql_fetch_array($result1));

    и он стал показывать только слово ID. Может проблема в том, что document.getElementById("result")? Здесь пробывала писать "Group_ID" (по этому ID он должен сортировать), но он ничего не показывает.
  • Juicy

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz 13 апреля 2009 г. 16:17, спустя 2 минуты 36 секунд

    На всякий пожарный страничка select.php:

    <?php
    $db = mysql_connect ("localhost", "root", "qazxcvb");
    mysql_query ("set character_set_client='cp1251'");
    mysql_query ("set character_set_results='cp1251'");
    mysql_query ("set collation_connection='cp1251_general_ci'");
    mysql_select_db("ales_tech",$db);
    ?>
    <script src="JsHttpRequest.js"></script>

    <script>
    function doload(value){
    var req=new JsHttpRequest();
    req.onreadystatechange=function(){
    if(req.readyState==4) document.getElementById("Group_ID").innerHTML=req.responseText;}
    req.open(null,"select2.php",true);
    req.send({country:value});}
    </script>

    <form action="sript.php" method="POST">

    <select name="country" onchange="doload(this.value);">
    <?php
    $result = mysql_query("SELECT * FROM groups", $db);
    $myrow = mysql_fetch_array($result);
    do
    {
    printf ("<option > %s<br> %s<br> <br>",$myrow ['Group_ID'], $myrow ['Group_Name']);
    }
    while ($myrow = mysql_fetch_array($result));
    ?>
    </select>

    <br><br>
    <div id="result"></div>
    <br><br>
    <input type="submit" value="Отправить">
    </form>
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 13 апреля 2009 г. 16:20, спустя 2 минуты 43 секунды

    Вот так:
    $result1 = mysql_query("SELECT FROM sub_grlev1 WHERE Gr1_ID like '0%'");


    У вас ошибочный синтаксис, между SELECT и FROM надо указывать что именно надо выбирать.
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Juicy

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz 13 апреля 2009 г. 16:31, спустя 11 минут 3 секунды

    Глупую ошибку исправила, спасибо!=) Вот только он все равно пишет только слово ID и все. И в базе пробывала изменять "Group_ID" на "result". Не понимаю где ошибка…
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 13 апреля 2009 г. 17:13, спустя 42 минуты 9 секунд

    Почему do { } while, когда обычно используют while { }
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 13 апреля 2009 г. 18:00, спустя 46 минут 39 секунд

    AlexB, потому как в старых книжках так написано :)

    Juicy, а что в файле select2.php ?
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 13 апреля 2009 г. 18:19, спустя 19 минут 26 секунд


    AlexB, потому как в старых книжках так написано :)
    Чо за дебильные книжки? Ведь даже если запрос нихера не вернул, цикл все-равно пойдет, видимо отсюда и растут ноги проблемы ID печатается, данных нет, нотисы отключены.
    Juicy, включи нотисы и отладь для начала запрос сам по себе.
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 13 апреля 2009 г. 18:56, спустя 36 минут 52 секунды

        $myrow = mysql_fetch_array($result);     
     do
        {
    printf ("<option > %s<br> %s<br> <br>",$myrow ['Group_ID'], $myrow ['Group_Name']);
        }
     while ($myrow = mysql_fetch_array($result));    


    замените на


    while ($myrow = mysql_fetch_array($result))
    {
       echo '<option>' . $myrow['Group_ID'] . '<br>' . $myrow['Group_Name']) . '<br><br>';
    }
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Troy

    Сообщения: 2532 Репутация: N Группа: Джедаи

    Spritz 13 апреля 2009 г. 18:59, спустя 3 минуты 12 секунд

    посмотрел как мне кажется когда из исходников что-то выдираешь хотяб думать надо , ошибок полно ,adw0rd уже несколько раз поправлял
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 13 апреля 2009 г. 19:00, спустя 53 секунды

    После каждого select'a делайте var_dump и смотрите за результатами выборки

    $result = mysql_query("SELECT * FROM sub_grlev1 WHERE Gr1_ID like '0%'");
    $myrow = mysql_fetch_array($result);
    var_dump($myrow);


    Но лучше, работайте с MySQL напрямую из консоли или например через MySQL Query Browse
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 13 апреля 2009 г. 19:18, спустя 17 минут 46 секунд


    После каждого select'a делайте var_dump и смотрите за результатами выборки

    $result = mysql_query("SELECT * FROM sub_grlev1 WHERE Gr1_ID like '0%'");
    $myrow = mysql_fetch_array($result);
    var_dump($myrow);


    Но лучше, работайте с MySQL напрямую из консоли или например через MySQL Query Browser
    нет опечаткам! )с( хабрапиздябр
    Сапожник без сапог
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 13 апреля 2009 г. 19:34, спустя 15 минут 48 секунд

    phpdude, ?
    https://smappi.org/ - платформа по созданию API на все случаи жизни

Пожалуйста, авторизуйтесь, чтобы написать комментарий!