За последние 24 часа нас посетили 19770 программистов и 1639 роботов. Сейчас ищут 2037 программистов ...

переделать демку

Тема в разделе "JavaScript и AJAX", создана пользователем Gennadiy, 16 янв 2013.

  1. Gennadiy

    Gennadiy Активный пользователь

    С нами с:
    24 дек 2010
    Сообщения:
    40
    Симпатии:
    0
    Есть демка http://demos.99points.info/ajax_dropdown/
    Исходник http://efimov.ws/assets/files/develop/2011/02/nlevel_ajax_d ... points.rar

    MYSQL таблица
    Код (Text):
    1. CREATE TABLE IF NOT EXISTS `ajax_categories` (
    2.   `id` int(11) NOT NULL auto_increment,
    3.   `category` varchar(50) NOT NULL,
    4.   `pid` int(11) NOT NULL,
    5.   PRIMARY KEY  (`id`)
    6. ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=43 ;
    7.  
    8. --
    9. -- Dumping data for table `ajax_categories`
    10. --
    11.  
    12. INSERT INTO `ajax_categories` (`id`, `category`, `pid`) VALUES
    13. (1, 'Tutorials', 0),
    14. (2, 'Demos', 0),
    15. (3, 'Entertainment', 0),
    16. (4, 'Real Estate', 0),
    17. (5, 'Web Development', 0),
    18. (6, 'Browsers', 0),
    19. (7, 'Laptop', 0),
    20. (8, 'PHP', 1),
    21. (9, 'jQuery', 1),
    22. (10, 'AJAX', 1),
    23. (11, 'CodeIgniter', 1),
    24. (12, 'PHP demos', 2),
    25. (13, 'jQuery demos', 2),
    26. (14, 'Film', 3),
    27. (15, 'Music', 3),
    28. (16, 'Commercial', 4),
    29. (17, 'Home', 4),
    30. (18, 'CSS', 5),
    31. (19, 'PHP', 5),
    32. (20, 'FireFox', 6),
    33. (21, 'Internet Explorer', 6),
    34. (22, 'Safari', 6),
    35. (23, 'Opera', 6),
    36. (24, 'IBM', 7),
    37. (25, 'Sony', 7),
    38. (26, 'Dell', 7),
    39. (27, 'HP ', 7),
    40. (28, 'Version 4', 8),
    41. (29, 'Version 5', 8),
    42. (30, 'jQuery Tutorials', 9),
    43. (31, 'jQuery Demos', 9),
    44. (32, 'Codeigniter 1.7', 11),
    45. (33, 'Codeigniter 2.0', 11),
    46. (34, 'Good Demos', 12),
    47. (35, 'Average Demos', 12),
    48. (36, 'Good Demos', 13),
    49. (37, 'Old', 28),
    50. (38, 'New', 29),
    51. (39, 'Good', 30),
    52. (40, 'Bad', 31),
    53. (41, 'Old', 32),
    54. (42, 'New', 33);
    Скрипт
    Код (Text):
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    2. <html xmlns="http://www.w3.org/1999/xhtml">
    3. <head>
    4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    5.  
    6. <title>Ajax Tutorial: Dynamic Loading of ComboBox using jQuery and Ajax in PHP</title>
    7.  
    8. <script type="text/javascript" src="jquery-1.3.2.js"></script>
    9. <script type="text/javascript" src="jquery.livequery.js"></script>
    10. <script type="text/javascript">
    11.  
    12. $(document).ready(function() {
    13.    
    14.     //$('#loader').hide();
    15.    
    16.     $('.parent').livequery('change', function() {
    17.        
    18.         $(this).nextAll('.parent').remove();
    19.         $(this).nextAll('label').remove();
    20.        
    21.         $('#show_sub_categories').append('<img src="loader.gif" style="float:left; margin-top:7px;" id="loader" alt="" />');
    22.        
    23.         $.post("get_chid_categories.php", {
    24.             parent_id: $(this).val(),
    25.         }, function(response){
    26.            
    27.             setTimeout("finishAjax('show_sub_categories', '"+escape(response)+"')", 400);
    28.         });
    29.        
    30.         return false;
    31.     });
    32. });
    33.  
    34. function finishAjax(id, response){
    35.   $('#loader').remove();
    36.  
    37.   $('#'+id).append(unescape(response));
    38. }
    39.  
    40. </script>
    41. <style>
    42. .both h4{ font-family:Arial, Helvetica, sans-serif; margin:0px; font-size:14px;}
    43. #search_category_id{ padding:3px; width:200px;}
    44.  
    45. .parent{ padding:3px; width:150px; float:left; margin-right:12px;}
    46. .both{ float:left; margin:0 0px 0 0; padding:0px;}
    47. </style>
    48. </head>
    49. <?php
    50.         include('dbcon.php');?>
    51. <body>
    52.  
    53. <div id="show_sub_categories">
    54.         <select name="search_category" class="parent">
    55.         <option value="" selected="selected">-- Categories --</option>
    56.         <?php
    57.         $query = "select * from ajax_categories where pid = 0";
    58.         $results = mysql_query($query);
    59.        
    60.         while ($rows = mysql_fetch_assoc(@$results))
    61.         {?>
    62.             <option value="<?php echo $rows['id'];?>"><?php echo $rows['category'];?></option>
    63.         <?php
    64.         }?>
    65.         </select>  
    66.     </div>
    67.     <br clear="all" /><br clear="all" />
    68.    
    69.  
    70.  
    71. </body>
    72. </html>
    Общий принцип строиться на выборке из базы по pid, там три колонки – id, category, pid
    Все категории и подкатегории находятся в одной колонке, хочется сделать выборку с привязкой к значению в колонке и формировать их во втором выпадающем списке а не генерировать его.
     
  2. Gennadiy

    Gennadiy Активный пользователь

    С нами с:
    24 дек 2010
    Сообщения:
    40
    Симпатии:
    0
    Код (Text):
    1.    $query = "select * from ajax_categories where pid = 0";
    во втором выпадающем списке нужно подставить значение выбранное в перовом вместо pid = 0
    например
    Код (Text):
    1. $query = "select * from ajax_categories where "list 1 selected"";