0

我正在尝试使用 Dragonfire SDK 对 mysql 数据库的查询进行编程。但作为响应,我得到了整个 HTML 结构而不是单个变量。在此示例中,我想要输入的名字的姓氏。有任何想法吗?

PHP:

<?php $Fname= $_GET[Fname];

$abfrage = "SELECT * FROM Names WHERE Fname = '$Fname'";

$ergebnis = mysql_query($abfrage);

while($row = mysql_fetch_object($ergebnis))

{

echo $row->Lname;

} ?>

C++:

int OnResponse(int event, char *response, int length)

{

response[length]=0;

   TextSetText(NameResponse, response);

   return(length);

}

响应如下所示: <html> <head> <title>PHP-Test</title> </head> <body> </body> </html>Polo

但我只想要“马球”..

4

1 回答 1

0

由于 PHP 在网页内运行,其输出最终将在网页内,而 NetSend() 无法将结果网页中您想要的部分与您不想要的部分分开。假设您无法让您的 PHP 用一些纯文本替换网页,而不仅仅是向其中添加文本(我不知道足够多的 PHP 在那里提出任何建议),您将需要您的 NetSend() 回调来解析输出到找到你想要的位。例如:

char *SkipWhiteSpace(char *cp)
{
  while (cp && *cp && cp-response < length && (*cp==' ' || *cp=='\t')) cp++;
  return cp;
}

int OnResponse(int event, char *response, int length)
{
  char *cp = response;

  cp = SkipWhiteSpace(cp);
  while (cp && *cp && cp-response < length && *cp=='<') {
    while (cp && *cp && cp-response < length && *cp!='>') cp++;
    cp++;
    cp = SkipWhiteSpace(cp);
  }
  if (!cp || !*cp || cp-response >= length) return -1;
  // cp now points to the beginning of the desired string
  //...
}
于 2014-03-15T16:06:20.637 回答