| 
| 
 | Вопрос # 4 581/ вопрос открыт / | 
 |  Здравствуйте, эксперты!Есть база данных MYSQL на хостинге и есть клиент написан на Дельфи7.
 Подскажите примерный текст php скрипта для подключения клиента к БД не напрямую, а через этот скрипт посредник.
 И как вызвать этот скрипт из Дельфи7 без компоненты браузера.
 
|  |   Вопрос задал: Shadow (статус: Посетитель)Вопрос отправлен: 14 сентября 2010, 21:51
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: DNK Здравствуйте, Shadow!Видится следующая схема:
 1) Делается запрос серверу с помощью IdHTTP (Indy Clients)
 2) PHP на сервере делает запрос в БД, но вместо html-страницы формирует xml
 3) Данные полученные с помощью IdHTTP парсятся например с помощью XMLDocument (Internet)
 
 PHP-скрипт:
 
 
 <data>
<?php
  define(DB_USER, 'user');
  define(DB_PASSWORD, 'pass');
  define(DB_HOST, 'localhost');
  define(DB_NAME, 'mydb');
  define(DB_QUERY, 'SELECT * FROM mytable');
 
  $db_connection = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
  mysql_select_db(DB_NAME);
 
  $query_result = mysql_query(DB_QUERY) or die(mysql_error());
  while ($row = mysql_fetch_array($query_result, MYSQL_ASSOC)) {
  ?>
  <row>
    <?php
    foreach ($row as $key => $value) {
        echo("<$key>$value</$key>\n");
    }
    ?>
  </row>
    <?php
  }
 
  mysql_free_result($query_result);
  mysql_close();
 
?>
</data>Xml получаем следующим образом:
 
 
 var i: integer;
begin
  XMLDocument1.XML.Text := IdHTTP1.Get('http://mysite.net/');
  with XMLDocument1.Node.Collection do
    for i := 0 to Count - 1 do
      with Nodes[i] do begin
        // обрабатываем элемент базы
      end;
end;ЗЫ: Не проверял
 Приложение:Переключить в обычный режим <data>  <item>    <fild1>item1-value1</fild1>    <fild2>item1-value2</fild2>    <fild3>item1-value3</fild3>  </item>  <item>    <fild1>item2-value1</fild1>    <fild2>item2-value2</fild2>    <fild3>item2-value3</fild3>  </item></data>
|  | Ответ отправил: DNK (статус: Студент)Время отправки: 15 сентября 2010, 13:03
 Оценка за ответ: 5
 |  
 Мини-форум вопросаВсего сообщений: 1; последнее сообщение — 14 сентября 2010, 22:10; участников в обсуждении: 1. 
|   | Shadow (статус: Посетитель), 14 сентября 2010, 22:10 [#1]:Здравствуйте, эксперты! Есть база данных MYSQL на хостинге и есть клиент написан на Дельфи7.
 Подскажите примерный текст php скрипта для подключения клиента к БД не напрямую, а через этот скрипт посредник.
 И как вызвать этот скрипт из Дельфи7 без компоненты браузера.
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |