Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   В чем вести БД? (https://javascript.ru/forum/offtopic/11489-v-chem-vesti-bd.html)

subzey 26.08.2010 15:19

Подразумевается PHP.

Есть класс DOMDocument, которые позволяет разбирать XML как DOM. Самое вкусное — XPath, но можно работать и с такими известными методами и свойствами, как getElementsByTagName, parentNode, childNodes и многие другие.

Подробнее, как всегда, в мануалах: http://ru2.php.net/manual/en/class.domdocument.php

Маленький пример:

<export>
	<item name="Мясо" price="105.95" available="1"></item>
	<item name="Рыба" price="47.95" available="1"></item>
	<item name="Молоко" price="37.95" available="0"></item>
</export>



$document = new DOMDocument();
$document->load("export.xml");
$xpath = new DOMXPath($document);
foreach ($xpath->query("/*/item[@available=1]") as $node){
echo $node->getAttribute("name") . ": " . $node->getAttribute("price") . " руб.<br />";
}

greatilya 26.08.2010 17:29

subzey,
Огромное спасибо за описание! (я обычно пользовался SimpleXML)
А из access в XML как перегоняли, стандартными средствами (Файл -> Экспорт -> тип файлов xml)?

Gozar 26.08.2010 17:58

Мне нужны две разные бд, чтобы я потом из одной бд в другую бд перегонял. Звучит как глупая хохма.

Берется стандартная MySQL и ставится к ней интерфейс (CMS), здесь выбор очень большой. Затем набивальщицы набивают, а администратор делает дамп и пихает на сайт.

greatilya,
Вы придумали себе проблему и пытаетесь её решить, невзирая на то, что проблемы такой нет.

Gvozd 27.08.2010 00:06

Цитата:

Сообщение от subzey
foreach ($xpath->query("/*/item[@available=1]") as $node){

Оп-п-п-па
так разве можно?коллекции перебирать-то?
на досуге проверю.
я просто всегда делал через $elems->length И $elems->item($i)

greatilya 27.08.2010 04:28

Gozar,
Опять вы с критикой.
Поясню более подробно.
Сейчас имеется действующий сайт на котором более 200 000 запчастей. И в силу того что на сайте стоит CMS NetCat и реляционные связи в таблицах не такие простые, управлять эти сайтом средствами CMS стало неудобно. Тем более что необходим стабильный доступ в интернет, при том что забивка каталога занимает очень много времени. Я хоть и старался сделать систему более удобной, выжал максимум из NetCat, добавил Ajax и т.п. Но управлять всё-равно тяжеловато.

Вот и было решение сделать локальный интерфейс для забивки БД с последующим экспортом на сайт. Думаю средствами Access получится сделать более удобный интерфейс.

Можно было бы конечно подключаться из некого локального интерфейса к БД на сайте, но от этого потеряется скорость.

inGray 27.08.2010 09:06

greatilya,
Может быть локальную копию базы держать на внутреннем серваке? Тогда проблем с доступом через инет и скоростью не будет. А удобный интерфейс к ней, я уверен, Вы напишете?

Gozar 27.08.2010 09:19

Цитата:

Сообщение от greatilya (Сообщение 68813)
Gozar,
Опять вы с критикой.
Поясню более подробно.
Сейчас имеется действующий сайт на котором более 200 000 запчастей. И в силу того что на сайте стоит CMS NetCat и реляционные связи в таблицах не такие простые, управлять эти сайтом средствами CMS стало неудобно. Тем более что необходим стабильный доступ в интернет, при том что забивка каталога занимает очень много времени. Я хоть и старался сделать систему более удобной, выжал максимум из NetCat, добавил Ajax и т.п. Но управлять всё-равно тяжеловато.

Вот и было решение сделать локальный интерфейс для забивки БД с последующим экспортом на сайт. Думаю средствами Access получится сделать более удобный интерфейс.

Можно было бы конечно подключаться из некого локального интерфейса к БД на сайте, но от этого потеряется скорость.

Мне не нужно пояснять более подробно, если вы выбрали плохо продуманную CMS, это ещё не значит что БД плохая. Смените CMS или напишите свой интерфейс.

Вы по всей вероятности этого просто не можете или вам за это не заплатят?

Вы в данном случае не БД обсуждаете, а интерфейс к ней. На том уровне что вы указали умеют работать ВСЕ существующие БД. 200 000 это смешно.

greatilya 27.08.2010 12:19

Цитата:

Сообщение от Gozar
выбрали плохо продуманную CMS

CMS продуманная
Цитата:

Сообщение от Gozar
напишите свой интерфейс

он там есть, причем выжимал по максимуму. Для пользователя выбор нужной детали был проблематичным. Вероятно вы правы, что легче придумать, написать интерфейс.
Со всем уважением к вам, задача там далеко не тривиальная...
Попробую придумать отдельный интерфейс средствами веба...

subzey 27.08.2010 12:37

Gvozd,
ага. Там итератор определен.

x-yuri 28.08.2010 12:11

предел удобства универсального решения (CMS, MS Access) при условиях стремящимся к благоприятным, равен удобству специализированного решения

Цитата:

Сообщение от greatilya
Но управлять всё-равно тяжеловато.

а в чем конкретно сложности?

Цитата:

Сообщение от greatilya
Для пользователя выбор нужной детали был проблематичным.

autocomplete проблему не решает?


Часовой пояс GMT +3, время: 06:58.