Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
14 / 0 / 0
Регистрация: 27.02.2011
Сообщений: 241
1

Выпадающий список из базы

27.02.2014, 20:09. Показов 2087. Ответов 15
Метки нет (Все метки)

Добрый Всем день.
Вот запрос:
PHP
1
2
3
4
5
6
7
8
 $query=mysql_query("SELECT nomer,dom FROM catalog");
 Выпадающий список:
<div>
  <a  href='#'>%s</a>
    <ul>
       <li><a  href='#'>%s</a></li>
    </ul>
</div>",$row['nоmer'],$row['dom']);
Bыдает:
1
20
1
21
1
22
А надо:
1
20
21
22
Заранее благодарю.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.02.2014, 20:09
Ответы с готовыми решениями:

Выпадающий список из базы
В базе имеется таблица menu с полями id_eat, name, eat_time. Необходимо вывести на форму список со...

выпадающий список со значениями из базы
Как сделать выпадающий список со значениями из базы через базу Mysqli Нашел как сделать через...

Выпадающий список с информацией из базы данных
Здравствуйте! Я пишу форму для обновления данных в таблице врачей. Нужно выбрать в выпадающем...

Сделать выпадающий список с данными из базы
Добрый вечер уважаемые программисты, изучаю потихоньку php. Создал простую базу данных к примеру из...

15
65 / 65 / 12
Регистрация: 07.03.2013
Сообщений: 198
27.02.2014, 21:18 2
Что-то мне подсказывает, что не весь код здесь указан.
1
14 / 0 / 0
Регистрация: 27.02.2011
Сообщений: 241
27.02.2014, 22:36  [ТС] 3
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
$query=mysql_query("SELECT nomer,dom FROM catalog");
 echo"<div>";
 $row=array();
         for($i=0;$i < mysql_num_rows($query);$i++){
              $row=mysql_fetch_array($query,MYSQL_ASSOC);
             printf("<div>
<a href='#'>%s</a>
<ul>
<li><a href='#'>%s</a></li>
</ul>
</div>",$row['nоmer'],$row['dom']);}
                        
echo"</div>";
0
65 / 65 / 12
Регистрация: 07.03.2013
Сообщений: 198
28.02.2014, 08:23 4
А так не проще будет?
PHP
1
2
3
4
5
6
echo"<div><ul>";
$query=mysql_query("SELECT nomer,dom FROM catalog");
while($row=mysql_fetch_array($query)) {
echo "<li>",$row[nomer]," ",$row[dom],"</li>";
}
echo"</ul></div>";
1
14 / 0 / 0
Регистрация: 27.02.2011
Сообщений: 241
28.02.2014, 15:27  [ТС] 5
У вас 1 20
1 21
1 22
А надо
1
20
21
22
0
65 / 65 / 12
Регистрация: 07.03.2013
Сообщений: 198
28.02.2014, 19:06 6
Я просто не совсем понял, что значат эти цифры. Не знаю структуру вашей таблицы базы данных и что и как из неё надо вывести.

Добавлено через 6 минут
Возможно так:
PHP
1
2
3
4
5
6
7
8
$query=mysql_query("SELECT nomer,dom FROM catalog");
echo"<div><ul>";
$row=mysql_fetch_array($query);
echo "<li>",$row[nomer],"</li>";
while($row=mysql_fetch_array($query)) {
echo "<li>",$row[dom],"</li>";
}
echo"</ul></div>";
1
24 / 23 / 6
Регистрация: 19.02.2014
Сообщений: 114
28.02.2014, 21:17 7
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$query=mysql_query("SELECT nomer,dom FROM catalog");
$k = 0;
$result = array();
while ($row = mysql_fetch_assoc($query)) {
$result[$k++] = $row;
};
for ($i=0; $i<$k; $i++)
if ($result[$i]['nomer'] != $result[$i-1]['nomer']) {
echo "<span>$result[$i]['nomer']</span>";
echo "<style>li {list-style-type: none;}</style>";
echo "<ul><li>$result[$i]['dom']</li></ul>";
}
else {
echo "<style>li {list-style-type: none;}</style>";
echo "<ul><li>$result[$i][1]</li></ul>";
}
?>
не понял, что тебе нужно, не уверен , что скрипт работает...

Добавлено через 26 минут
Цитата Сообщение от Pashkanin Посмотреть сообщение
if ($result[$i]['nomer'] != $result[$i-1]['nomer'])
должно быть
PHP
1
if ($result[$i]['nomer'] != $result[$i]['nomer'])
Добавлено через 14 минут
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$query = "SELECT * FROM Test";
$i=0;
if ($result = $sql->query($query)){
while ($row[$i] = $result->fetch_assoc()) {
$i++;
}
};
for ($i=0, $k=count($row); $i<$k; $i++) {
if ($row[$i]['nomer'] != $row[$i-1]['nomer']) {
echo "<span>".$row[$i]['nomer']."</span>";
echo "<style>li {list-style-type: none;}</style>";
echo "<ul><li>".$row[$i]['dom']."</li></ul>";
}
else {
echo "<style>li {list-style-type: none;}</style>";
echo "<ul><li>".$row[$i]['dom']."</li></ul>";
}
};
если установлен модуль mysqli, это точно работает
1
14 / 0 / 0
Регистрация: 27.02.2011
Сообщений: 241
01.03.2014, 03:38  [ТС] 8
Joralink,Pashkanin спасибо ,все отлично работает.
0
14 / 0 / 0
Регистрация: 27.02.2011
Сообщений: 241
04.03.2014, 04:24  [ТС] 9
Я извиняюсь.Нужен многомерный массив.
1
20
21
22

2
20
21
22

3
20
21
22
0
65 / 65 / 12
Регистрация: 07.03.2013
Сообщений: 198
05.03.2014, 18:42 10
жека3, покажи структуру базы данных. Откуда беруться эти цифры?
1
14 / 0 / 0
Регистрация: 27.02.2011
Сообщений: 241
05.03.2014, 19:11  [ТС] 11
Структура простая.Например:есть улицы с номерами домов.Нужно вывести улицы и ,чтоб при нажатии выпадали дома.В базе таблица такая:
улица дом
к 1
к 2
е 1
е 2 и т.д.
0
65 / 65 / 12
Регистрация: 07.03.2013
Сообщений: 198
05.03.2014, 21:02 12
Лучший ответ Сообщение было отмечено жека3 как решение

Решение

PHP
1
2
3
4
5
6
7
8
$res=mysql_query("SELECT `улица` FROM `имя` GROUP BY `улица`");
while($row=mysql_fetch_array($res)) {
    echo $row[0],"<br>";
    $res1=mysql_query("SELECT `дом` FROM `имя`WHERE `улица`='$row[0]' ");
    while($row1=mysql_fetch_array($res1)) {
    echo "&nbsp;&nbsp;&nbsp;&nbsp;",$row1[0],"<br>";
    }
}
1
14 / 0 / 0
Регистрация: 27.02.2011
Сообщений: 241
06.03.2014, 00:00  [ТС] 13
Joralink, спасибо ,что отменили взрыв моих мозгов.Все чудесно работает.
Осталось только скрыть дома и выводить их при клике по улице,если конечно вас не затруднит.
0
65 / 65 / 12
Регистрация: 07.03.2013
Сообщений: 198
06.03.2014, 10:03 14
Лучший ответ Сообщение было отмечено жека3 как решение

Решение

Вообще то это уже не php. Ну да ладно, подам идею.
Выводишь пункты с названиям улиц ссылками на функцию javascript. Номера домов делаешь в виде списка <ul>, который по умолчания скрыт.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<a href="#" onClick="doma(1); return false;">первая улица</a>
      <ul id="1" style="display: none;">
            <li>первый дом</li>
            <li>второй дом</li>
            <li>третий дом</li>
      </ul>
<a href="#" onClick="doma(2); return false;">вторая улица</a>
      <ul id="2" style="display: none;">
            <li>первый дом</li>
            <li>второй дом</li>
            <li>третий дом</li>
      </ul>
Функция, делающая нужный список не скрытым - открывающая списки домов:
Javascript
1
2
3
4
5
6
7
8
9
10
11
function doma (a) {
    var tegul = document.getElementsByTagName('ul');
    for (var i=0; i<tegul.length; i++) {
    var sul = tegul[i];
            if(sul.id==a) {
            sul.style.display = 'inherit';
            } else {
            sul.style.display = 'none';
            }
  }
}
1
14 / 0 / 0
Регистрация: 27.02.2011
Сообщений: 241
06.03.2014, 12:03  [ТС] 15
Все понял.Еще раз спасибо.До встречи.
0
65 / 65 / 12
Регистрация: 07.03.2013
Сообщений: 198
06.03.2014, 12:14 16
Пожалуйста. Обращайся, если что.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.03.2014, 12:14

Выпадающий список из базы данных (одинаковые значения)
Всем привет, начинаю только осваивать это чудесное ремесло И ни как не могу допереть как нужно...

выпадающий список
Добрый день! не получается сделать выпадающий список со значениями из БД! $sp =...

Выпадающий список из БД
Привет всем, уважаемые! Вопрос в следующем. Я новичок в php, изучаю и решил в качестве примера...

Выпадающий список
Здравствуйте есть выпадающий список мне нужно чтоб в нем можно было выбирать сразу несколько...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru