Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: выпадающий список из кладра

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
NAZE
Отправлено: 07 Октября, 2011 - 02:21:19
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




Здравствуйте, мне нужно сделать выпадающие списки город->улица->дом, данные берутся из кладра
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $host='localhost';
  3. $database='BASE';
  4. $user='user';
  5. $pswd='12345';
  6. $dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL.");
  7. mysql_select_db($database) or die("Не могу подключиться к базе.");
  8.  
  9. function is_sel($a, $field)
  10. {
  11.   $b = isset($_POST[$field])?$_POST[$field]:NULL;
  12.   if($a == $b) return 'selected="selected"';
  13. }
  14. $res = mysql_query("SELECT * FROM `kladr` WHERE CODE LIKE '1800000%00000'");
  15. ?>
  16. <form id="frm" method="post">
  17. <select name="kladr" onchange="document.getElementById('frm').submit()" >
  18. <option value='null'>- Выберите город -</option>
  19. <?
  20.  
  21.     while($row = mysql_fetch_array($res))
  22.       echo "<option ".is_sel($row['CODE'],'kladr')." value='" . $row['CODE'] . "'>" . $row['NAME'] . "</option>\r\n";
  23. echo "</select>";
  24.  
  25. if(isset($_POST['kladr']))
  26. {
  27.   $res=mysql_query('SELECT * FROM `street` WHERE CODE="'.(int)$_POST['kladr'].'"');
  28.  
  29.   echo "<select name=\"street\" onchange=\" document.getElementById('frm').submit();\" >
  30.    <option  id=\"street\" value='0'>- Выберите улицу -</option>";
  31.  
  32.     while($row = mysql_fetch_array($res))
  33.       echo "<option ".is_sel($row['CODE'],'street')." value='" . $row['CODE'] . "'>" . $row['NAME'] . "</option>\r\n";
  34.  
  35.   echo "</select>";
  36. }
  37.  
  38.  
  39. ?>
сделал вот по этому примеру, но список улиц не появляется, кто уже работал с кладром помогите!!!

(Отредактировано автором: 07 Октября, 2011 - 09:57:31)

 
 Top
NAZE
Отправлено: 07 Октября, 2011 - 09:57:09
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




если кто-то решится помочь, могу выложить базу с таблицами
 
 Top
Andruxa
Отправлено: 07 Октября, 2011 - 12:33:36
Post Id



Частый гость


Покинул форум
Сообщений всего: 140
Дата рег-ции: Март 2010  


Помог: 0 раз(а)




Все это делается с помощью JAX технологии, php здесь только обработчик. Забей в поиск "выпадающие списки на AJAX" или как то так
 
 Top
JohnnyB
Отправлено: 07 Октября, 2011 - 12:38:31
Post Id


Новичок


Покинул форум
Сообщений всего: 49
Дата рег-ции: Сент. 2011  


Помог: 2 раз(а)




Цитата:
кто уже работал с кладром помогите!!!

Что за кладр? Используй AJAX http://javascript[dot]ru/ajax/intro
 
 Top
NAZE
Отправлено: 09 Октября, 2011 - 00:50:44
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




вся проблема в том что не знаю ajax, и никогда с ним не работал
 
 Top
illy
Отправлено: 09 Октября, 2011 - 08:22:21
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




на select ставь onchange() который бует отправлять через аякс название улицы или дома а в ответ получать выпадающий список


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
snikers987
Отправлено: 09 Октября, 2011 - 14:35:50
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




гугл: зависимые списки

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

(Отредактировано автором: 09 Октября, 2011 - 14:37:30)



-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
NAZE
Отправлено: 09 Октября, 2011 - 22:39:20
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Окт. 2011  


Помог: 0 раз(а)




может кто-нибудь поможет написать функцию на javascript именно для этого кода, а то не силен я в этом
(Добавление)
структура таблиц
Спойлер (Отобразить)
 
 Top
LIME
Отправлено: 09 Октября, 2011 - 22:53:13
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)





JohnnyB пишет:
Что за кладр?
Классификация адресов России
кошмарно составленная база
даже первой нормальной не соответствует насколько я помню
 
 Top
illy
Отправлено: 10 Октября, 2011 - 09:45:47
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




Я вот ща клиенту делал тож выпадающее нечто
Выбираешь Страну, подгружаются города этой страны в селект

CODE (html):
скопировать код в буфер обмена
  1. <select name="country_id" onchange="document.getElementById('getse').src='discont.php?id='+this.value;">
  2. <option value="176">Россия</option>
  3. <option value="208">Япония</option>                
  4. <select name="zone_id" id="zone_id"></select>
  5. <iframe id=getse frameborder=0 src='discont.php?id=176' width=0 height=0></iframe>


discont.php

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $k='';
  3. if(!empty($_REQUEST['id'])){
  4. $id=$_REQUEST['id'];
  5. mysql_connect('localhost','root','');
  6. $q=mysql_query("SELECT zone_id,name FROM dic_zone WHERE country_id='$id'");
  7. while($v=mysql_fetch_row($q)){
  8. $k.="<option value=$v[0]>$v[1]</option>";
  9. }
  10. }
  11. if($k!=''){
  12. echo "<script>
  13. parent.document.getElementById('zone_id').innerHTML='$k';
  14. </script>";
  15. }
  16. ?>


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB