Forum Webscript.Ru

Программирование => PHP => Тема начата: от 21 Февраля 2002, 07:05:25

Название: Как считывать данные? Нужно срочно
Отправлено: от 21 Февраля 2002, 07:05:25
Проблема такая:
На первом сайте находится база данных с полями, например, TOVAR и CENA. Как на втором сайте сделать отображение этих полей, если на первом сайте значения этих полей будут изменены? То, что считывать эту базу в файл и затем его использовать- в этом проблем нет, тут все понятно. А вот если сделать что-то типа связей с этими полями базы данных, то как это сделать? Или  может нечто вроде ссылок на эти поля сделать, но как я не знаю. База данных на первом сайте- в формате TXT. Но в эту базу внести изменения вносить не надо, только считывать.
Может кто сможет помочь? Буду очень признателен. Заранее спасибо. Очень срочно нужно.
Название: Как считывать данные?
Отправлено: nagash от 21 Февраля 2002, 12:44:29
совсем не понятно...
не реально у тебя вопрос противоречит себе...
или я что то не понимаю...
Название: Как считывать данные?
Отправлено: AliMamed от 21 Февраля 2002, 13:17:00
Цитировать
База данных на первом сайте- в формате TXT

TXT это не движок баз данных, поэтому считывать весь файл.
Название: Как считывать данные?
Отправлено: Flash от 21 Февраля 2002, 13:34:35
RKo
А зарегистрироваться слабо?
Название: Как считывать данные?
Отправлено: от 25 Февраля 2002, 13:28:29
Короче считываешь всё это fopen(), с того сайта откуда ты хочешь брать инфу, затем просто делаешь проверку if(), и всё.
А не мог бы ты мне дать взглянуть на строение базы, может скрипт напишу ;)

(Solid)
Название: Я бы делал так:
Отправлено: Макс от 25 Февраля 2002, 15:28:05
Я бы делал так:

Во-первых доступ к БД извне должен быть запрещен (а то всякие будут ее смотреть, что не есть хорошо) например .htaccess-ом или поместить ее в каталог, недоступный извне.

Еще копию БД лучше делать на обоих серверах (если места не жалко)

И на одном сайте делаешь скрипт, который передает внесенные изменения а на втором - скрипт который их принимает и вносит в БД (нужно еще какой-то пароль передавать, а то тебе таких измененений внесут ).

Тут можно использовать сокеты или почту если на втором сайте есть доступ к почтовому роботу.
Передавать данные ИМХО лучше в сериализованом массиве (или в XML или в WDDX или весь файл закачивать - это просто альтернативы, массивы ИМХО самое простое)


Это все теория, на практике таким не занимался, поэтому мог что-нибудь ляпнуть глупое... Хотя вроде все логично



Цитировать
База данных на первом сайте- в формате TXT. Но в эту базу внести изменения вносить не надо, только считывать.

Цитировать
На первом сайте находится база данных с полями, например, TOVAR и CENA. Как на втором сайте сделать отображение этих полей, если на первом сайте значения этих полей будут изменены?

В этих двух фразах все правильно?
Название: Как считывать данные?
Отправлено: Solid от 26 Февраля 2002, 15:17:13
Макс
Да это же легко сделать ... ;)

С начало делаем файл, например db.txt, затем берём и заркываем доступ к нему со всех ип кроме того с корого будем считывать этот файл.
Затем делаем fopen() - открываем этот файл, например:

$file = fopen("http://www.server.ru/db.txt", "r");

и и дальше просто навсего делаем explode()\'ом и т.д.

Я говорю, ты мыль мне (solid@email.ee), напишу скриптик, ведь не сложно + люблю помогать людям ;)
Название: :)
Отправлено: KpuK от 01 Марта 2002, 07:47:24


:)
Название: Как считывать данные?
Отправлено: от 17 Марта 2002, 07:19:57
При использовании fopen() -будет считываться база данных, но только когда на первом сайте изменения уже внесены, а на второй сайт посетитель только заходит. А если этот посетитель уже находится на втором сайте, то при изменении данных на первом сайте, он об этих изменениях и не узнает...
т.е. надо типа интернет-пейджера: находится человек в Online или в Offline.
С Includ\'ом то же самое...
Я думаю, AliMamed все-таки прав... И надо считывать весь файл...
Название: Как считывать данные?
Отправлено: Dm от 17 Марта 2002, 23:38:35
плюс, чтобы не нарушить целостность файла необходимо использовать flock.

и еще, функция file работает быстрее, чем fopen + fgets + цикл.