Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как подружить Delphi и PHP??? (получаем данные из MySQL,формируем XML) 
V
    Опции темы
belka
  Дата 17.12.2006, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 17.9.2006

Репутация: нет
Всего: 3



Господа!!!
Подскажите пожалста как получить данные из MySQL'ной базы(которая находится в интернете)?

PS-у меня есть версия, что надо дельфой запускать PHP-скрипт, который вытягивает данные из базы и формирует из них некую XML-структуру с этими данными..
Вообще реально все это?? если есть какие-то мысли или примерчики - постите! буду очень признательна!!!
 smile 
--------------------
Просто я живу на улице Ленина и меня зарубает время от времени...aka technogen007
PM MAIL   Вверх
Rodman
Дата 17.12.2006, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: нет
Всего: 122



Тебе надо написать веб-сервис...

Компоненты есть начиная с 7 версии делфей...
PM MAIL WWW Skype GTalk YIM MSN   Вверх
belka
Дата 18.12.2006, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 17.9.2006

Репутация: нет
Всего: 3



Цитата(Rodman @  17.12.2006,  18:55 Найти цитируемый пост)
Тебе надо написать веб-сервис...

чё?  smile 
--------------------
Просто я живу на улице Ленина и меня зарубает время от времени...aka technogen007
PM MAIL   Вверх
Matematik
Дата 18.12.2006, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

Репутация: 24
Всего: 50



Цитата(belka @  17.12.2006,  16:15 Найти цитируемый пост)
Вообще реально все это??

Мож быть.
например так.
Код

var s:String;
begin
  s := TIdHTTP.Get('http://site/script.php?param=value');
  // в s находится xml
end


Но лучше опиши проблему подробней, а то ничего не ясно.
PM MAIL WWW ICQ   Вверх
x77
Дата 18.12.2006, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 1
Всего: 22



belka, сначала отработай серверную часть. напиши скрипт, типа query.php, который отрабатывает запрос. добейся того, чтобы при наборе в том же IE строчки, типа:

www.mysite.ru/query.php?name=login&pass=password&sql=select * from test

у тебя на странице экспловера выдвалась xml с нужными данными. 

а уже после этого пойдёт Get (или Post) из программы, написанной на дельфи.


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
belka
Дата 18.12.2006, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 17.9.2006

Репутация: нет
Всего: 3



Цитата(x77 @  18.12.2006,  15:05 Найти цитируемый пост)
belka, сначала отработай серверную часть. напиши скрипт, типа query.php, который отрабатывает запрос. добейся того, чтобы при наборе в том же IE строчки, типа:

www.mysite.ru/query.php?name=login&pass=password&sql=select * from test

у тебя на странице экспловера выдвалась xml с нужными данными. 

это все я с закрытими глазами уже делаю (во Flex-се так делала), а вот в дельфи всегда работала с локальной акцесовской базой через простое ADO..
а щас уже надо думать про

Цитата(x77 @  18.12.2006,  15:05 Найти цитируемый пост)
а уже после этого пойдёт Get (или Post) из программы, написанной на дельфи. 

как энто сделать??
--------------------
Просто я живу на улице Ленина и меня зарубает время от времени...aka technogen007
PM MAIL   Вверх
x77
Дата 18.12.2006, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 1
Всего: 22



на форме имеем Edit1 (URL), Edit2 (Логин), Edit3 (Пароль), IdHttp1, Memo1 и Button1.

Код

procedure TForm2.Button1Click(Sender: TObject);
var
  s: TStrings;
begin
  s := TStringList.Create;
  try
    s.Add ('user=' + Edit2.Text);
    s.Add ('pass=' + Edit3.Text);
    Memo1.Lines.Text := IdHttp1.Post(Edit1.Text, s);
  finally
    s.Free;
  end;
end;


типа вот этого smile

Добавлено @ 15:50 
если работаешь через прокси, то там, по идее, надо ещё и аутентификацию прокси прописывать. по слухам, она глючит smile


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
belka
Дата 18.12.2006, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 17.9.2006

Репутация: нет
Всего: 3



Цитата(x77 @  18.12.2006,  15:49 Найти цитируемый пост)
типа вот этого

ОТЛИЧНО! большое спасибо!!! работает!!
у меня маленький вопросик: а как теперь эти данные записать в массивчик? (или надо парсить весть этот большой текст??)
--------------------
Просто я живу на улице Ленина и меня зарубает время от времени...aka technogen007
PM MAIL   Вверх
Rodman
Дата 18.12.2006, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: нет
Всего: 122



данные какого типа?

Добавлено @ 17:06 
если XML то парсь
Код

var I: Integer;
    NameNode: IXMLNode;
    XMLDocument: TXMLDocument;
begin
XMLDocument := TXMLDocument.Create(Self);
  try
    XMLDocument.XML.Text:=Data;//твои данные
    XMLDocument.Active:=True;
    NameNode:=XMLDocument.DocumentElement;
    for i := 0 to NameNode.ChildNodes.Count - 1 do
          mas[i]:=NameNode.ChildNodes.Nodes[i].ChildValues['Имя тега'];
end;

PM MAIL WWW Skype GTalk YIM MSN   Вверх
belka
Дата 19.12.2006, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 17.9.2006

Репутация: нет
Всего: 3



Цитата(Rodman @  18.12.2006,  17:03 Найти цитируемый пост)
если XML то парсь

угу, XML..
че та немного не получается.. в чем ошибка? код:
Код

uses ..XMLIntf, XMLDoc;

procedure TForm1.Button1Click(Sender: TObject);
var
mas:array of String;
i:integer;
s:TStrings;
NameNode:IXMLNode;
XMLDocument:TXMLDocument;
begin
  s := TStringList.Create;
  try
    s.Add ('user=' + Edit2.Text);
    s.Add ('pass=' + Edit3.Text);
    Memo1.Lines.Text := IdHttp1.Post(Edit1.Text, s);
    XMLDocument:=TXMLDocument.Create(Self);
    try
      XMLDocument.XML.Text:=IdHttp1.Post(Edit1.Text, s);
      XMLDocument.Active:=True;
      NameNode:=XMLDocument.DocumentElement;
      for i := 0 to NameNode.ChildNodes.Count - 1 do
          mas[i]:=NameNode.ChildNodes.Nodes[i].ChildValues['userid'];
    finally
    end;
  finally
    s.Free;
  end;
end;

end.

при нажатии на кнопочку пишет, что:
Project reised exception class EDOMParseError with message "Ошибка в элементе верхнего уровня доступа"
 smile  че это такое-то??
--------------------
Просто я живу на улице Ленина и меня зарубает время от времени...aka technogen007
PM MAIL   Вверх
belka
Дата 19.12.2006, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 17.9.2006

Репутация: нет
Всего: 3



Цитата(belka @  19.12.2006,  08:35 Найти цитируемый пост)
Project reised exception class EDOMParseError with message "Ошибка в элементе верхнего уровня доступа"

О! я разобралась! у меня был не чисто XML, там немного слов было вначале))
и еще:
Цитата(belka @  19.12.2006,  08:35 Найти цитируемый пост)

Код

mas:array of String;

 - это не правильно, надо
Код

mas:array of Variant;

всем удачного кодинга! Rodman,  спасибо за примеры!!

--------------------
Просто я живу на улице Ленина и меня зарубает время от времени...aka technogen007
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1181 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.