Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
1

Выбор из select'а

13.02.2011, 02:35. Просмотров 1144. Ответов 4
Метки нет (Все метки)

Привет всем!
У меня в селекте находится список из БД (у которых parent = -1)/
При выборе одной записи из списка и нажатии на кнопку, должен появиться список (у которых parent = id, выбранной записи).
Вопрос - как это реализовать?

Вот код
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
<form method="POST">
<table>
<tr>
<td>
    <select multiple name="selectik[]" class='select' style="width: 500px;" id="groups">
<?php
// выборка всех вопросов для помещения их в select
$query = "SELECT * FROM $tbVoting WHERE (parent = -1) ORDER BY date DESC";
$result = @mysql_query($query);
    
while($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $id = $line["id"];
    $text = $line["text"];
        $name_opros=$line["name"];
?>
    <option value="<?=$id?>"><?=$text?>&nbsp;(<?=$name_opros?>)</option>
<?php
}
$opros = (isset($_REQUEST["id"])) ? $_REQUEST["id"] : -1;
?>
    </select>
</td>
</tr>
 
<tr>
<td><input type="submit" name="butonchik" value="OK" style="width: 130px;"></td>
</tr>
            
</table>
</form>
<?php
            
if (isset($_POST["butonchik"])) {
    if (isset($_POST["selectik"])) {
        $q = "SELECT * FROM $tbVoting WHERE (parent = $opros)";
//      echo $q;
        $r = @mysql_query($q);
 
        while($l = mysql_fetch_array($r, MYSQL_ASSOC)) {
            echo $l["text"];
        }
    }
}       
?>
Сичас у меня выводится тот же список, что и в селект'е (т.е. снова parent = -1).
Главный вопрос, как выбрать из селект'а нужную запись (с нужным value)?

Добавлено через 3 часа 41 минуту
боцаны, исправил так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
foreach ($opros as $key => $val) {
    echo "<b>" . $key . "->" . $val . "</b><br />";
                
    if (isset($_POST["butonchik"])) {
        if (isset($_POST["selectik"])) {
 
            $q = "SELECT * FROM $tbVoting WHERE (parent = $val)";
            $r = @mysql_query($q);
 
            while($l = mysql_fetch_array($r, MYSQL_ASSOC)) {
                echo $l["text"] . "<br />";
            }
        }
    }
    echo "<br />";
}
?>
боле мене заработало, но выводятся все записи из БД, у которых parent = не выбранному из option'a, а всем значениям всех option'ов.
Как исправить?

Добавлено через 1 минуту
$opros = (isset($_REQUEST["id"])) ? $_REQUEST["id"] : -1; - это убрал. теперь $opros =:
PHP
1
2
3
$opros = array();
........
$opros[] = $id;
Добавлено через 3 часа 51 минуту
ессс, заработало!
кому надо, пользуйтесь!
все почти так же...

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
 
if (isset($_POST["butonchik"])) {
    if (isset($_POST["selectik"])) {
        foreach ($_POST["selectik"] as $val)  {
            $a = "SELECT * FROM $tbVoting WHERE (id = " . $val . ")";
            $s = mysql_query($a);
            $w = mysql_fetch_array($s, MYSQL_ASSOC);
            echo "<b><font color=red>" . $w["name"] . "</font></b><br />";
        
            $q = "SELECT * FROM $tbVoting WHERE (parent = " . $val . ")";
            $r = @mysql_query($q);
            
            while($l = mysql_fetch_array($r, MYSQL_ASSOC)) {
                echo $l["text"];
                echo "&nbsp;&nbsp;&nbsp;" . $l["voters"] . "    <br />";
            }
        }
    }
}
echo "<br />";
 
?>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.02.2011, 02:35
Ответы с готовыми решениями:

Реализация динамического SELECTа
Доброе время суток! Изучая тему динамического SELECT, нашел в инете следующую реализацию: ...

Высота Selectа в Internet Explorer
Вопрос в общем-то по верстке, просто не знал в какой форум его кинуть, но думаю такое можно...

Как сделать выбор цвета и выбор толщины кисти в MDI приложении?
Работаю с mdi приложениями в виде Paint, но не знаю кода что бы присваивать mdi приложению такие ...

Выбор видюхи GeForce GTX 1050 2GB (выбор точнее производителя)
хочу обновить &quot;железо&quot; своего пк, хватает на GeForce GTX 1050 2GB видюху, однако какую лучше...

4
Комбинатор
979 / 248 / 13
Регистрация: 10.03.2010
Сообщений: 3,556
13.02.2011, 09:27 2
Я бы на твоем месте на странице формочки к бд не обращался. А вообще это лучше делать на ajax`e, имхо.
0
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
13.02.2011, 10:19  [ТС] 3
Цитата Сообщение от DenQ Посмотреть сообщение
на странице формочки к бд не обращался
да, ты прав. я хотел просто проблему решить, а раскидать по файлам это дело второе

Цитата Сообщение от DenQ Посмотреть сообщение
А вообще это лучше делать на ajax`e, имхо
есть ли смысл так все усложнять? страница и так пустая (не считая списка <select>), а остальные записи появляются при нажатии на кнопку, при условии, что выбран 1 (или несколько [<select> у меня - multiple]) пунктов из списка
0
Комбинатор
979 / 248 / 13
Регистрация: 10.03.2010
Сообщений: 3,556
13.02.2011, 10:32 4
Love_and_Peace, ну если только для практического обучения
0
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
13.02.2011, 11:05  [ТС] 5
Цитата Сообщение от DenQ Посмотреть сообщение
ну если только для практического обучения
эт не обучение, а чужой код.
я придерживаюсь при кодинге MVC, во всяком случае стараюсь
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2011, 11:05

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Выбор SIM карты, с которой необходимо произвести выбор
Добрый день! Пошерстил форум, но так и не нашел чего-то, что смогло бы мне определенно помочь. ...

Выбор действия, выбор нескольких позиций одновременно
Добрый вечер, знатоки! Весь день ломаю голову над тем, как организовать меню и переход по командам...

Выбор моника, рассуждения и выбор - оцените плиз
Доброго времени суток. Прошу помощи у знатоков в частности помочь с выбором монитора. Сейчас...

Выбор 1 --> выбор 2 --> изменение данных в форме
Доброе время суток! Передо мной стоит такая задача: Существует фирма. У нее 20 филиалов. Ими...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.