Помогите реализовать задачу с базами данных - Веб-программирование | MMGP
Присоединяйтесь к нашему инвестиционному форуму, на котором уже 434,239 пользователей. Чтобы получить доступ ко многим закрытым разделам и начать общение -  .
Вход через:  
Все, что относится к Web-Программированию (PHP, Perl, JavaScript, MySQL, XML и т.д.)
При поддержке
Сеть доставки контента, выбранная космическими агентствами
Важная информация
Есть опыт работы с криптовалютами? Заведи Крипто-Блог и заработай на нём!
Торгуешь криптовалютой? Оставь свой отзыв о бирже!
Разбираешься в криптовалюте? Прими участие в акции Крипторайтер 2.0 (2-10 поинтов за 1000 символов)
Изменения в акции "Оплата за сообщения".
Как на одной публикации заработать $100
Ответить
 
Первый пост Опции темы
Сообщения прочитаны и/или просмотрены Сегодня, 05:14
Старый 08.10.2010, 01:48
#1
Любитель
 
Пол: Мужской
Адрес: Киев
Инвестирую в: Свой бизнес
Регистрация: 17.05.2007
Сообщений: 752
Благодарностей: 87
УГ: 0
КП: 0.152
Помогите реализовать задачу с базами данных

Хочу сделать на сайте словарь терминов. Но не знаю как это реализовать правильно. Есть отдельная БД в которой каждая буква - таблица, в которой уже вписаны слова - с пояснением.
Как сделать, чтобы главная страница была массивом из названий таблиц базы данных, которые ведут к перечню слов, которые находятся в этой таблице- просто неохота создавать 33 страницы отдельно под каждую букву?

Заранее благодарен

добавлено через 12 минут
чтобы было более понятно - уточню: когда мы обращаемся к параметрам таблицы мы обычно пишем SELECT*FROM (название таблицы) то есть указали куда обращаемся а потом уже выбираем значения, а мне нужно по сути нужно сделать SELECT*FROM (название базы данных) где значениями будут таблицы этой базы. Такое вообще возможно ??

Последний раз редактировалось OrlandO; 08.10.2010 в 02:00. Причина: Добавлено сообщение
OrlandO вне форума  
Старый 08.10.2010, 09:39
#2
Мастер
 
Пол: Мужской
Адрес: Поволжье
Инвестирую в: Свой бизнес
Регистрация: 30.08.2007
Сообщений: 2,006
Благодарностей: 423
УГ: 0
КП: 0.000
награды Ветеран MMGP.RU Волшебный горшочек 
Re: Помогите реализовать задачу с базами данных

возможно, дайте сюда структуру таблиц
Спанч Боб вне форума  
Сказали спасибо:
OrlandO (14.10.2010)
Старый 08.10.2010, 22:59
#3
Интересующийся
 
Пол: Мужской
Регистрация: 02.10.2010
Сообщений: 6
Благодарностей: 2
УГ: 0
КП: 0.000
Re: Помогите реализовать задачу с базами данных

OrlandO, конечно возможно.
Насколько я понял, в базе пока нужно хранить только термины с их описаниями, и при этом предусмотреть вывод всех терминов, начинающихся, с определённой буквы алфавита. Если это так, то у нас получается одна таблица:

words, с полями:
id (идентификатор слова, на всякий случай, наверняка пригодится)
word (само слово)
meaning (значение слова)

А для того, чтобы получить все слова, начинающиеся с определённой буквы (L - необходимая нам буква), в запросе используем оператор LIKE:

SELECT *
FROM words
WHERE word LIKE L%

Знак % - служебный символ, он указывает, что после нужной нам буквы может идти любое количество других символов.
Только нужно учитывать, что всё должно быть в одной кодировке.

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

words, с полями:
id (идентификатор слова, на всякий случай, наверняка пригодится)
letter (буква)
word (само слово)
meaning (значение слова)

И делать выборку по букве:

SELECT *
FROM words
WHERE letter = L

Надеюсь помог
Mr. Vine вне форума  
Сказали спасибо:
OrlandO (14.10.2010)
Старый 14.10.2010, 18:49
#4
Любитель
 
Пол: Мужской
Адрес: Киев
Инвестирую в: Свой бизнес
Регистрация: 17.05.2007
Сообщений: 752
Благодарностей: 87
УГ: 0
КП: 0.152
Автор темы Re: Помогите реализовать задачу с базами данных

спасибо огромное, вы мне очень помогли ! Воспользовался вторым вариантом !
OrlandO вне форума  
Старый 15.10.2010, 10:20
#5
Любитель
 
Имя: Сергей
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 02.03.2010
Сообщений: 509
Благодарностей: 77
УГ: 0
КП: 0.170
Re: Помогите реализовать задачу с базами данных

Советую всем кто сомневается в своих знаниях запросов SQL проделать упражнения на сайте sql-ex.ru
mpak59rus вне форума  
Старый 28.11.2010, 23:23
#6
Любитель
 
Имя: Андрей
Пол: Мужской
Адрес: Москва
Инвестирую в: Фондовый рынок
Регистрация: 02.05.2010
Сообщений: 350
Благодарностей: 52
УГ: 0
КП: 0.173
Re: Помогите реализовать задачу с базами данных

На sql-ex.ru предлагается писать запросы к базам данных с большими нарушениями ссылочной целостности. Много раз сталкивался с базами данных, написанными другими людьми, но таких нарушений ни разу не видел. Базы данных обычно проектируют очень тщательно. Запросы, которые предлагается писать на sql-ex.ru, лишены всякого смысла, вместо них нужно реконструировать сами базы данных.
amac вне форума  
Старый 15.12.2010, 02:02
#7
Любитель
 
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 11.05.2009
Сообщений: 148
Благодарностей: 18
УГ: 0
КП: 0.000
Re: Помогите реализовать задачу с базами данных

Делать для каждой буквы по таблице – не рационально.
Лучше для этого использовать одну таблицу, а в ней создать колонку в которой хранить букву.
zexis вне форума  
Старый 05.01.2011, 04:24
#8
Интересующийся
 
Пол: Мужской
Адрес: Литва
Регистрация: 18.01.2009
Сообщений: 46
Благодарностей: 16
УГ: 0
КП: 0.000
Re: Помогите реализовать задачу с базами данных

Подниму тему, хоть она уже и старовата. Словари много на каких сайтах нужны, а в этой теме нормального ответа так и не дали. Все что предлагали выше конечно будет работать, но подход совершенно не рациональный. А как сделать правильно и красиво? Ниже я распишу человеческий способ, может кому пригодиться.

Вобщем словарь состоит из двух частей: указатель и собственно сам словарь.
Указатель это нечто вроде списка первых букв типа А, Б, В...
Предположим что при нажатии на букву в указателе мы должны попасть на страницу где будут находиться все термины на эту букву. (это собственно и будет сам словарь)
Для этого мы должны создать таблицу которая содержит два поля (termin, description). Termin будет у нас термином, а description соответственно описанием этого термина. Саму таблицу назовем dictionary.
Так вот у нас есть таблица заполненная термином и описаниями. Чтоб получить список первых букв всех терминов надо выполнить простой запрос к БД:
Код:
SELECT SUBSTR(termin,1,1) AS letter FROM `dictionary` GROUP BY letter ORDER BY letter ASC
После выполнения запроса к БД в записи 'letter' мы будем иметь список всех букв, с которых начинаются термины в нашем словаре. Можно чуть чуть проапрейдить запрос добавив "COUNT(termin) AS num"
Код:
SELECT SUBSTR(termin,1,1) AS letter, COUNT(termin) AS num FROM `dictionary` GROUP BY letter ORDER BY letter ASC
и соответственно в записи num мы будем иметь количество терминов на каждую букву. Это нужно если мы хотим сделать на сайте указатель с количеством терминов вроде A(2), B(7), C(22)...
В указатели ставим ссылки вроде "http://site.ru/termin.php?letter=a" чтоб методом get передать выбранную букву на страницу словаря. Там получаем эту букву и делаем запрос к базе данных
Код:
SELECT * FROM 'dictionary'  WHERE (SUBSTR(termin, 1, 1) = 'а')  ORDER BY termin ASC
И соответственно получим массив где в алфавитном порядке по ключам termin и description будут термины и описания для заданной буквы (тут буквы "а")
Если тема кого заинтересует могу и рабочий пример накатать, но думаю тут и так все понятно.
Auk000 вне форума  
Сказали спасибо 2 раз(а):
OrlandO (11.01.2011), san777 (05.01.2011)
Старый 11.01.2011, 04:12
#9
Любитель
 
Пол: Мужской
Адрес: Киев
Инвестирую в: Свой бизнес
Регистрация: 17.05.2007
Сообщений: 752
Благодарностей: 87
УГ: 0
КП: 0.152
Автор темы Re: Помогите реализовать задачу с базами данных

Тоже вариант, просто я хотел именно кнопками реализовать БД.
Возник новы вопрос по использованию БД.
Предположим у меня в таблице есть переменная A в которой храниться функция вида
<?
include ("http://имя/имя/имя.php");

?>
По этому адресу храниться набор ссылок, который может меняться. Мне нужно как-то выводить эту переменную из БД, отсюда и вопрос как это сделать? При помощи <? echo $myrow['переменная']; ?> - не получается и другие варианты тоже не работают ! В чем проблема и как ее решить?

добавлено через 14 часов 32 минуты
Неужели никто помочь не может?

добавлено через 15 часов 2 минуты
Все проблема решена. Но возник другой момент. При написании анкоров тех страниц используеться обычный текст, но он выводится в формате: "слврымраыомра", поэтому чтобы он был читаем его нужно написать в таком формате: &# 1055;&# 1077;&# 1085;&#1 089;&#108 0;&#108 6;&#10 85;&#10 85;&#1 086;&#10 77; &#10 86;&#107 3;&#10 77;&#1 089;&#1 087;&#10 77;&#109 5;&#10 77;&#10 85;&#1 080;&# 1077; . Будет лич читаться такой анкор поисковиком? Или это будет простой набор символов?

Последний раз редактировалось OrlandO; 11.01.2011 в 19:15. Причина: Добавлено сообщение
OrlandO вне форума  
Старый 11.01.2011, 20:40
#10
Интересующийся
 
Пол: Мужской
Адрес: Литва
Регистрация: 18.01.2009
Сообщений: 46
Благодарностей: 16
УГ: 0
КП: 0.000
Re: Помогите реализовать задачу с базами данных

очевидно проблемы с кодировкой.
Auk000 вне форума  
Старый 12.01.2011, 01:32
#11
Любитель
 
Пол: Мужской
Адрес: Киев
Инвестирую в: Свой бизнес
Регистрация: 17.05.2007
Сообщений: 752
Благодарностей: 87
УГ: 0
КП: 0.152
Автор темы Re: Помогите реализовать задачу с базами данных

Спасибо КЭП =) Так будет ли читаться поисковыми роботами такой анкор или нет?
OrlandO вне форума  
Ответить
Войдите, чтобы оставить комментарий.
Сообщения прочитаны и/или просмотрены Сегодня, 05:14
Опции темы

Быстрый переход


Случайные темы
Аватар seter
Биткоин обогнал Facebook и Google на 800% по доходности
От seter в разделе «Новости платежных систем»
Аватар NETWEB-monitor
Alchemist.bz - Верну рефбек 2ОО%.
От NETWEB-monitor в разделе «HYIP Мониторинги и блоги»
Аватар HOBOBBOD
О подходе к криптовалютному проекту на примере аирдропов
От HOBOBBOD в разделе «Инвестирование в криптовалюты»
Аватар Анна Чернобай
Прибыль Сбербанка выросла в 2016 году в 2,2 раза
От Анна Чернобай в разделе «Новости в банковской сфере и страховании»
Аватара нет
PayPal и BlackBerry будут работать вместе
От Aliaksandre в разделе «Новости платежных систем»
Аватар Дмитрий Бергер
GoldBoro - goldboro.com
От Дмитрий Бергер в разделе «Архив: Список проблемных/неактивных/закрытых программ»
.     
Пользователей
434,239
Тем
503,695
Сообщений
12,645,352

mmgp.telegram