1 (edited by sibprogsistem 2019-06-10 16:06:32)

Topic: передать все записи

мне нужно взять из таблицы все записи где есть  onl =1
и передать их  в php..

procedure userall;
var
   url:string;
begin
      url:='https://url.php';
      http.open('POST', url, true);
      http.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      http.send('password=**');   
      timerAu:=TTimer.create(frmLogin);
      timerAu.Enabled:=True;
      timerAu.Interval:=1000;
      timerAu.OnTimer:=@DUAll;
end;

как принять их со стороны php примерно догадываюсь ))))..
а вот как их передать?

2 (edited by sibprogsistem 2019-06-13 19:10:16)

Re: передать все записи

vovka3003 wrote:

Исходя из того, что указано в "Content-Type", - очевидно в формате "application/x-www-form-urlencoded" внутри Send. Хотя если данных много, то наверное лучше использовать "multipart/form-data"...

вот что я имел в виду

var
http: variant;


procedure Form1_Button2_OnClick (Sender: TObject; var Cancel: boolean);
var
i,c:integer;
list:TStringList;
url: string = 'https://url.php';

begin
 list:=TStringList.Create;
 list.Text:= SQLExecute( 'SELECT group_concat(id, char(13) || char(10)) FROM app WHERE ss=1' );
 c:=list.Count-1;
 http:=createoleobject('WinHttp.WinHttpRequest.5.1');
 http.open('POST', url, True);
 http.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
 for i:=0 to c do
  begin
   http.send('password=???&idapp='+list[i]+'&firstnameapp='+sqlexecute('SELECT firstname FROM app WHERE id='+list[i])+'&lastnameapp'+sqlexecute('SELECT lastname FROM app WHERE id='+list[i])'');
  end;
end;

в мемо выводит как задумано ))...
позже попробую на php  -- надеюсь это правельно

3 (edited by sibprogsistem 2019-06-14 15:29:22)

Re: передать все записи

а возможно-ли установить таймаут в  цикле?

for i:=0 to c do
  begin
   http.send('password=???&idapp='+list[i]+'&firstnameapp='+sqlexecute('SELECT firstname FROM app WHERE id='+list[i])+'&lastnameapp'+sqlexecute('SELECT lastname FROM app WHERE id='+list[i])'');
  end;