0 / 0 / 0
Регистрация: 11.11.2016
Сообщений: 37

При выборе элемента <select> автоматически делать выборку из БД

15.11.2016, 17:02. Показов 10720. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать так, чтоб при выборе пункта из <select> автоматически (без нажатия кнопки) из БД делалась выборка всех полей с этим выбранным значением?

Файл формы:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<form method="POST" action="" enctype="multipart/form-data">
    <table>
    <tr>
        <td>Вид документа <select name='type' id="type" onchange="alert(this.options[this.selectedIndex].value);">
                                                  <option value = "1">Проекты</option>
                                                  <option value = "2">Решения</option>
                              <option value = "3">Распоряжения</option></select></td>
        <td>Документ № <input value="" name="number" type="text"></td>
        <td>Содержание<input value="" name="art_cont" type="text"></td>
        <td>Сессия <select name='session'><option>Внеочередная</option>
                                        <option>1</option>
                                        <option>2</option>
                                        <option>3</option>
                                        <option>4</option>
                                            </select></td>
        <td>Дата создания: <input value="" name="date_art" type="date"></td>
     </tr>
     </table>
        <input name="upfile" type="file">
        <input type="submit" value="Загрузить" class="form button">
</form>
Запрос на добавление нового элемента:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    $db = mysql_connect($db_host,$db_user,$db_password) OR DIE("Ошибка.");
    mysql_select_db("mydb",$db);
 
    $resultat = mysql_query("SELECT * FROM `mytable`"); 
    
    if (isset($_FILES["upfile"])){
        $file_name = $_FILES['upfile']['name'];
        $up = move_uploaded_file($_FILES['upfile']['tmp_name'], $file_name); 
            if($up){
                $result = mysql_query ("INSERT INTO `mytable`(`type`, `number`, `art_cont`, `session`, `date_art`, `file_name`) VALUES ('$type', '$number ', '$art_cont', '$session', '$date_art', '$file_name')");
                if($result){
                    echo "<script>window.location.reload(\"true\")</script>";
                }
            }
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.11.2016, 17:02
Ответы с готовыми решениями:

При выборе элемента в <select> менять содержимое другого <select>
Может кто-то подсказать. У меня есть select на форме. Например: &lt;select name=day_s size=1&gt; &lt;option value=1&gt; Понедельник &lt;/...

Как сделать так чтобы при выборе значения в select автоматически ставилось это значение в text?
у меня есть select со значениями 1 2 3 и есть text как сделать так чтобы при выборе значения в select автоматически ставилось это...

Функция JS при выборе элемента списка select
Здравствуйте. Не получается запустить функцию при выборе элемента списка select. Есть вот такой код, но он почему-то работает только в...

23
0 / 0 / 0
Регистрация: 11.11.2016
Сообщений: 37
17.11.2016, 18:00  [ТС]
Студворк — интернет-сервис помощи студентам
fanatikus, да.
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
17.11.2016, 18:40
Лучший ответ Сообщение было отмечено Storkfork как решение

Решение

основной файл
PHP/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
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<html>
<head><script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script></head>
<body>
    <?php 
    $db_host = "localhost"; 
    $db_user = "root"; 
    $db_password = ""; 
    $db_table = "mytable";
    
    $type = $_POST['type'];
    $number = $_POST['number'];
    $art_cont = $_POST['art_cont'];
    $session = $_POST['session'];    
    $date_art = $_POST['date_art'];
    
    $db = mysql_connect($db_host,$db_user,$db_password) OR DIE("Ошибка.");
    mysql_select_db("mydb",$db);
 
   
    if (isset($_FILES["upfile"])){
        $file_name = $_FILES['upfile']['name'];
        $up = move_uploaded_file($_FILES['upfile']['tmp_name'], $file_name); 
        if($up){
            $result = mysql_query ("INSERT INTO `mytable`(`type`, `number`, `art_cont`, `session`, `date_art`, `file_name`) VALUES ('$type', '$number ', '$art_cont', '$session', '$date_art', '$file_name')");
            if($result){
                echo "<script>window.location.reload(true)</script>";
            }
        }
    }  
    ?>
    <script type="text/javascript">
        $(function(){
            $('#type').change(function(){
                var val = $(this).val(); //значение option
                $.ajax({
                    type:'post',
                    url:'file.php',//пропишите свой путь
                    data:'value='+val,//передаем значение option. на сервере будет доступно $_POST['value'}
                    success:function(result){// получаем ответ с сервера
                        $('#res').html(result);//выводим на стнанице
                    }
                })
            })
        })
    </script>
<form method="POST" action="" enctype="multipart/form-data">
    <table>
        <tr>
            <td>Вид документа 
                <select name='type' id="type">
                    <option>-</option>
                    <option value = "Проекты">Проекты</option>
                    <option value = "Решения администрации">Решения администрации</option>
                    <option value = "Приказы">Приказы</option>
                    <option value = "Распоряжения">Распоряжения</option>
                </select>
            </td>
            <td>Документ № <input value="" name="number" type="text"></td>
            <td>Содержание <input value="" name="art_cont" type="text"></td>
            <td>Сессия 
                <select name='session'>
                    <option>Внеочередная</option>
                    <option>1</option>
                    <option>2</option>
                </select>
            </td>
            <td>
                Дата создания: <input value="" name="date_art" type="date">
            </td>
        </tr>
    </table>
    <input name="upfile" type="file">
    <input type="submit" value="Сохранить" class="form button">
</form>
<div id="res">
    <table border="1px" cellspacing="0">
        <tr>
            <th>Вид документа</th>
            <th>Номер документа</th>
            <th>Сессия</th>
            <th>Дата создания</th>
            <th width='45%'>Содержание</th>
            <th>Дата обновления</th>
        </tr>
        <?php 
        $resultat = mysql_query("SELECT * FROM `mytable`"); 
        while($row = mysql_fetch_array($resultat)) {
            echo "<tr><td align='center'>".$row['type']."</td>";
            echo "<td align='center'>".$row['number']."</td>";
            echo "<td align='center'>".$row['session']."</td>";
            echo "<td align='center'>От ".$row['date_art']."</td>";
            echo "<td><a href='".$row['file_name']."'>".$row['art_cont']."</a><br><br><a href='redag.php?number=".$row['number']."'>Редактировать<img src='postedit.gif' title='Редактировать'></a></td>";
            if ($row['date_new']>0) { 
                echo "<td align='center'>От <a href='".$row['file_new']."'>".$row['date_new']."</a>";
                if ($row['date_new2']>0) {
                    echo "<br>От <a href='".$row['file_new2']."'>".$row['date_new2']."</a>";
                    if ($row['date_new3']>0) {
                        echo "<br>От <a href='".$row['file_new3']."'>".$row['date_new3']."</a></td></tr>";
                    }
                }
            }
            else { 
                echo "<td align='center'>-</td>";
            }
        } 
        ?>
    </table>
</div>
<?php mysql_close($db);?>
</body>
</html>
обработчик
PHP/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
40
41
<?php 
    $db_host = "localhost"; 
    $db_user = "root"; 
    $db_password = ""; 
    $db_table = "mytable";
    
    $db = mysql_connect($db_host,$db_user,$db_password) OR DIE("Ошибка.");
    mysql_select_db("mydb",$db);
?>
<table border="1px" cellspacing="0">
    <tr>
        <th>Вид документа</th>
        <th>Номер документа</th>
        <th>Сессия</th>
        <th>Дата создания</th>
        <th width='45%'>Содержание</th>
        <th>Дата обновления</th>
    </tr>
    <?php
    $value = mysql_query("SELECT * FROM `mytable` WHERE `type` = '".$_POST['value']."'");
    while($grow = mysql_fetch_array($value)) {
            echo "<tr><td align='center'>".$grow['type']."</td>";
            echo "<td align='center'>".$grow['number']."</td>";
            echo "<td align='center'>".$grow['session']."</td>";
            echo "<td align='center'>".$grow['date_art']."</td>";
            echo "<td><a href='".$grow['file_name']."'>".$grow['art_cont']."</a><br><br><a href='redag.php?number=".$grow['number']."'>Редактировать<img src='postedit.gif' title='Редактировать'></a></td>";
        if ($row['date_new']>0) { 
            echo "<td align='center'>От <a href='".$grow['file_new']."'>".$grow['date_new']."</a>";
            if ($grow['date_new2']>0) {
                echo "<br>От <a href='".$grow['file_new2']."'>".$grow['date_new2']."</a>";
                if ($grow['date_new3']>0) {
                    echo "<br>От <a href='".$grow['file_new3']."'>".$grow['date_new3']."</a></td></tr>";
                }
            }
        }
        else { 
            echo "<td align='center'>-</td>";
        }
    }
    ?>
 </table>
Добавлено через 1 минуту
не забудьте прописать свой путь в ajax
1
0 / 0 / 0
Регистрация: 11.11.2016
Сообщений: 37
18.11.2016, 09:16  [ТС]
fanatikus, спасибо большое, помогли разобраться!
0
0 / 0 / 0
Регистрация: 20.09.2012
Сообщений: 48
14.11.2017, 10:46
Добавлено через 11 минут
fanatikus, Здравстуйте, схожая задача только не с таблицей в со вторым селектом, сделал всё как вы описали, но не работает, подскажите, пожалуйста в чём проблема.

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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?php
    /* Template name: Внесение мероприятий */
    
    get_header();
 ?>
<?php 
 
            $host=/*Имя сервера*/
 
    $user=/*Имя пользователя*/
 
    $password=/*Пароль пользователя*/
 
    $db=/*Имя базы данных*/
 
    mysql_connect($host, $user, $password) or die("MySQL сервер недоступен!".mysql_error());
    
    mysql_query("SET NAMES utf8");
 
    mysql_select_db($db) or die("Нет соединения с БД".mysql_error());
    
    $staff = mysql_query ('SELECT * FROM staff') or die();
    $district = mysql_query ('SELECT * FROM district group by district') or die();
 
    if( isset( $_POST['insert'] ) ) {
        $spec = $_POST['spec'];
        $date = $_POST['date'];
        $district = $_POST['district'];
        $result = mysql_query(
            "INSERT INTO
                `localbase`.`inf`
                (spec, date, district) 
            VALUES
                ('$spec','$date', '$district')"
        );  
 
        if ($result== 'true') {
            echo "Ваши данные успешно добавлены";
        } else {
            echo "Ваши данные не добавлены";
        }   
    }   
?>
 
<head><script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script></head>
<form method="post">
    <br></br>
    <br></br>
    <p> <?php
        echo $querydis;
        ?>
        <b>Сотрудник</b>
            <select name="spec" type="text">
    <?php while ($dropd = mysql_fetch_assoc($staff)) : ?>
        <option> <?php echo $dropd['staff'] ?></option>';
    <?php endwhile ?>
    </select>
    </p>
    <br></br>
    <b>Дата</b>
    <input name="date" type="date">
    <p>
    <br></br>
 
    <p>
        <b>Район</b>
   <select name="district" type="text" id="district">
    <option></option>
    <?php while ($dropd = mysql_fetch_assoc($district)) : ?>
        <option> <?php echo $dropd['district'] ?></option>';
    <?php endwhile ?>
    </select>
        <br></br>
 
 
    <p>
        <b>Школа</b>
   <select name="shcool" type="text" id="shcool">
    <?php while ($dropd = mysql_fetch_assoc($shcool)) : ?>
        <option> <?php echo $dropd['shcool'] ?></option>';
    <?php endwhile ?>
    </select>
        <br></br>
<p><b>Отзыв</b>
    <br>
    <textarea name="dop" cols=200 rows=10 value=></textarea>
    <br></br>
        <p><input type="submit" name="insert" value="Добавить"></p> 
    <br></br>
 
<script type="text/javascript">
$(function(){
        $('#district').change(function(){
            var val = $(this).val(); //значение option
            $.ajax({
                type:'post',
                url:'shcool.php' //пусть к моему файлу обработчику
                data:'district='+val,//передаем значение option. на сервере будет доступно $_POST['value'}
                success:function(result){// получаем ответ с сервера
                    $('#shcool').html(result);//выводим на стнанице
                }
                
            })
            console.log($(this).val());
        })
    })
</script>
 
</form>
Обработчик

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
<?php
 
$host=/*Имя сервера*/
 
    $user=/*Имя пользователя*/
 
    $password=*Пароль пользователя*/
 
    $db=*Имя базы данных*/
 
    mysql_connect($host, $user, $password) or die("MySQL сервер недоступен!".mysql_error());
    
    mysql_query("SET NAMES utf8");
 
    mysql_select_db($db) or die("Нет соединения с БД".mysql_error());
 
$district1 = $_POST['district'];
$shcool = mysql_query ('SELECT shcool FROM district where district=$district1 order by shcool') or die();
 
?>
        <b>Школа</b>
   <select name="shcool" type="text" id="shcool">
    <?php while ($dropd = mysql_fetch_assoc($shcool)) : ?>
        <option> <?php echo $dropd['shcool'] ?></option>';
    <?php endwhile ?>
    </select>
К базе подключается нормально. Выгружает Район и список сотрудников, а вот с аяксом ничего не происходит.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.11.2017, 10:46
Помогаю со студенческими работами здесь

Переход на страницу при выборе элемента в select
вот сделал поле со списком &lt;form action=&quot;price.php&quot;&gt; &lt;p&gt;&lt;b&gt;Поиск авто по цене&lt;/b&gt;&lt;/p&gt; &lt;p&gt;&lt;select name=&quot;id&quot;&gt; ...

Вызов метода при выборе элемента списка select
Здравствуйте, уважаемые программисты. Недавно начал изучать MVC, и у меня возник вопрос: есть представление со списком select, и хочется,...

При выборе элемента из select вставлять его в ссылку
есть форма с выбором городов Хочу сделать так чтобы при выборе какого нибудь города. Из тега 'data-code' брался код города и...

Как сменить класс элемента или его id при выборе определенного select
Здравствуйте, в мучительных поисках искал ответ на этот вопрос, но в итоге не нашел его, поэтому решил обратиться сюда. Говорю сразу,...

При выборе какого-то значения в select'e нужно показывать другой select рядом
Здравствуйте, я полный ноль в js, но нужно следующее: На сайте есть разделы. При выборе какого-то значения в select'e нужно показывать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Опции темы

Новые блоги и статьи
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru