Jump to content

solovin1986

User
  • Posts

    119
  • Joined

  • Last visited

Everything posted by solovin1986

  1. Получается что записей может быть 200 000 * 500 и более. Сервак не ляжет?
  2. Есть таблица на 200 000записей (ID, Наименование) Есть примерно около 500 магазинов число которых может расти. Нужно сделать так чтобы магазин мог отмечать что товар у него есть. Как возможно построить далее БД более рационально и правильно?
  3. Не могу найти как записать ячейку цифры как текст. Может подскажете? Чтобы запись 001 не отображалась в екскеле как 1
  4. Нужен класс для создания и чтения xls файлов с возможностью присваивания целой колонки либо ячейке "формата текстовое поле" для того чтобы не было из екселя преобразования чисел в дату и т.д. Если возможно покажите пожалуйста кусок кода.
  5. Подскажите пожалуйста что будет лучше прописать значения в enum и так хранить данные в бд или лучше в поле integer хранить значение и сделать привязку к этим значениям самого названия? enum 'метал', 'пластмасс', ... БД на 137 000 строк
  6. Для начала я бы предложил просто прочитать книжку умную "Что такое базы данных", а уже потом действовать. Толку-то, если человек не понимает принципов построения релиативных баз данных, и хранит данные "по старинке", как в файлах. Ключевые слова "нормализация базы данных". Спасибо за рекомендацию но мои действия отталкиваются из ограниченного бюджета а не от непонимания. В принципе ни в одной книге не написано какой объем данных влияет на то или иное. И как это лучше всего реализовать исходя из того или другого. А делается это на страх и риск программистов и проектировщиков. Даже 3 таблицы делать тоже не самый лучший вариант. А вот спрашиваю потому как ни разу не сталкивался из таким огромным количеством данных и большой посещаемостью ресурса. Тут нужны рекомендации большого спеца в данном направлении.
  7. Ок. Еще вопрос что можно еще сделать кроме того как разбить все по полям?
  8. Да так выглядит содержимое ячейки. Есть бд на 137 000 товаров и там вот так хранятся данные задача вывести в поиске товары в диапазоне.
  9. Задача такова: в таблице есть специальное дополнительное поле для примера brend|nike||madein|chine||size|43,450||и.тд. нужно сделать выборку через REGEXP размеров от 42,5 скажем до 43,4 не пойму как составить от и до
  10. Если не нравиться то где ты находишься уйди ты же не дерево

  11. Для тех кому интересно как из многомерного массива вывести option-ы для select function get_region_option($arr){ GLOBAL $option, $nbsp; $nbsp .= ' '; foreach( $arr as $key => $value ){ if( is_array($value) ){ $option .= "<option value=\"$key\">$nbsp{$value['name']}</option>\r\n"; get_region_option($value); } } $nbsp = substr($nbsp,0,-6); return $option; } print_r( get_region_option($region_tree) ); Короче на роботу не берете Все тему закрывайте, а то будем биться.
  12. Ну теперь давай будем на личности переходить. ) В принципе то что я написал используют много движков. Может Вы уважаемый хотите сказать что они вот то что вы написали? Может вы хотите сказать что Ваш уважаемый модератор дает в задании то что вы написали? Если нет тогда зачем Вы это пишите будучи уважаемым человеком на этом форуме? Вот за такие высказывания я бы не только вас не взял на работу, а выгнал бы с собеседования пинками. Давайте разберёмся почему. 1. 0 (ноль) это не NULL. NULL — отдельный тип данных. То есть 0 — число, а NULL — отсутствие какого-либо значения вообще. Так что, если вы попытаетесь вставить туда пустое значение, то получите NULL. Чтобы по умолчанию вставаль ноль, надо делать DEFAULT 0. 2. И с какого это молота у вас быстрее, а? Как минимум, у меня задача выполняется за линейное время и запрос в БД идёт всего один. Обоснуйте своё предположение. Удалите тему и забаните меня и будет Вам счастье. Вы бы еще сказали что вам нужно сказать что id это автоинкремент. Для 110%
  13. По поводу NOT NULL это высказывание абсурд, так как при добавлении в базу оно автоматом будет 0 так как есть integer. Из написанной мной реализации можно смотреть что у меня более правильная реализация которая не нагружает бузу данных. Всем спасибо. Учитесь
  14. КОД function get_region_arr() { global $db; $db->query("SELECT * FROM " . PREFIX . "_region ORDER BY parentid, posi ASC"); while ( $row = $db->get_row() ) { $arr[$row['parentid']][] = $row; } return $arr; } function get_region_tree($arr,$parentid){ foreach($arr[$parentid] as $value){ $tmp[$value['id']] = get_region_tree($arr, $value['id']); $tmp[$value['id']]['name'] = $value['name']; } return $tmp; } print '<pre>' . print_r(get_region_tree(get_region_arr(), 0), true) . '</pre>'; РЕЗУЛЬТАТ Array ( [1] => Array ( [2] => Array ( [3] => Array ( [4] => Array ( [name] => Москва ) [6] => Array ( [name] => Дубна ) [5] => Array ( [name] => Долгопрудный ) [name] => Москва и область ) [name] => Центр ) [name] => Россия ) [7] => Array ( [name] => Украина ) ) Правда есть один нюанс который глаз мусолит, то что ключ [name] не вначале. Не могу его правильно его туда зарядить. А так работает. Пользуйтесь на здоровье.
  15. Сейчас доделаю маленький нюанс и покажу экспертам
  16. Ахахах! Вы бы ещё сказали, что я время тяну, чтобы сделать сортировку пузырьком. Я практически такую же задачу даю на собеседовании, так что решение у меня точно есть. Вот, например, от одного из претендентов решение задачи на питоне — не самое лучшее, но рабочее ? import MySQLdb db = MySQLdb.Connect(host="localhost",user="username",passwd="password",db="TOAST") cursor = db.cursor() baseQuery = "SELECT * FROM comments WHERE PARENT = " def getChildren(currentID): query = baseQuery + str(currentID) + ";" found = cursor.execute(query) if found == 0 : return None currentLevelComments = {} results = cursor.fetchall() for i in range(len(results)): currentComment = results[i] currentCommentID = currentComment[0] currentCommentParent = currentComment[1] currentCommentAuthor = currentComment[2] currentCommentText = currentComment[3] currentCommentDict = {} currentCommentDict["ID"] = currentCommentID currentCommentDict["Parent"] = currentCommentParent currentCommentDict["Author"] = currentCommentAuthor currentCommentDict["Text"] = currentCommentText children = getChildren(currentCommentID) if children != None: currentCommentDict["Children"] = children currentLevelComments[currentCommentID] = currentCommentDict return currentLevelComments comments = getChildren(0) Ладно всем спасибо что смотрели сделаю сам выложу. А то только нравоучения а помощи 0.
  17. Хотите выиграть во времени? )
  18. Просто "влом" показать.
  19. Я конечно прошу прощения но ваше сообщение наводит на одну мысль.
  20. Кто то может показать как?
  21. Так что такие вот дела
  22. Если вы внимательно смотрели на таблицу есть рекурсия в 3 вложения. А если представить на минутку что веток будет более 10.
  23. Ну вот уже другое дело. Поле id — auto_increment? Да
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy