Здравствуйте. В этом раскрывающемся списке все майки из БД. Их там где то 200. А нужно, что бы в этом списке было 50. ( А потом сделаю второй список в котором будут остальные 150.) Помогите пожалуйста. Я новичек, если не понятно объяснил, то постараюсь растолковать подробнее. PHP: Майки:<br><br> <select name="id_categories"> <option selected="selected" value="">Выберите майку</option> <? if($categories) :?> <? foreach($categories as $key => $item) :?> <label="<?=$item[0]?>"> <? foreach($item['next'] as $k => $v ):?> <option value="<?=$k;?>">-<?=$v;?></option> <? endforeach;?> </label> <? endforeach;?> <? endif;?> </select>
Здравствуйте. В этом раскрывающемся списке все майки из БД. Их там где то 200. А нужно, что бы в этом списке было 50. ( А потом сделаю второй список в котором будут остальные 150.) Помогите пожалуйста. Я новичек, если не понятно объяснил, то постараюсь растолковать подробнее. PHP: Майки:<br><br> <select name="id_categories"> <option selected="selected" value="">Выберите майку</option> <? if($categories) :?> <? foreach($categories as $key => $item) :?> <label="<?=$item[0]?>"> <? foreach($item['next'] as $k => $v ):?> <option value="<?=$k;?>">-<?=$v;?></option> <? endforeach;?> </label> <? endforeach;?> <? endif;?> </select>
Здравствуйте. В этом раскрывающемся списке все майки из БД. Их там где то 200. А нужно, что бы в этом списке было 50. ( А потом сделаю второй список в котором будут остальные 150.) Помогите пожалуйста. Я новичек, если не понятно объяснил, то постараюсь растолковать подробнее. PHP: Майки:<br><br> <select name="id_categories"> <option selected="selected" value="">Выберите майку</option> <? if($categories) :?> <? foreach($categories as $key => $item) :?> <label="<?=$item[0]?>"> <? foreach($item['next'] as $k => $v ):?> <option value="<?=$k;?>">-<?=$v;?></option> <? endforeach;?> </label> <? endforeach;?> <? endif;?> </select> t
Можно отрезать 50 первых или из базы выбрать 50 и уже выводить их. https://secure.php.net/manual/ru/function.array-slice.php Для базы смотри LIMIT. Можно ещё красиво оформить так https://select2.github.io/examples.html
$categories ты же из базы выбираешь? Тогда limit - то, что доктор прописал. А-ля Код (Text): select * from categories limit 50
PHP: function get_categories() { $sql = "SELECT id,name,parent_id FROM ".PREF."categories"; $result = mysql_query($sql); if(!$result) { exit(mysql_errno()); } if(mysql_num_rows($result) == 0) { return FALSE; } $categories = array(); for($i = 0; mysql_num_rows($result) > $i;$i++) { $row = mysql_fetch_array($result,MYSQL_ASSOC); if(!$row['parent_id']) { $categories[$row['id']][] = $row['name']; } else { $categories[$row['parent_id']]['next'][$row['id']] = $row['name']; } } return $categories; } --- Добавлено --- $categories = get_categories();
Вот в SQL запроси можно прописать ограничение на вывод 50 первых записей, посмотри документацию по LIMIT, потом можно 50 по 100 показать, и так кусками сколько нужно.
Вот так сделал, вроде бы все работает Код (Text): Майка:<br><br> <select name="id_categories"> <option selected="selected" value="">Выберите Майку</option> <? $res = mysql_query("SELECT id,name FROM ".PREF."categories where id<50"); while($row = mysql_fetch_assoc($res)){ ?> <option value="<?=$row['id']?>"><?=$row['name']?></option> <? } ?>
Так лучше да? Вы про это? Код (Text): <? $res = mysql_query("SELECT id,name FROM ".PREF."categories limit 50"); while($row = mysql_fetch_assoc($res)){ ?> <option value="<?=$row['id']?>"><?=$row['name']?></option> <? } ?>