来自PHP的Dragonfire SDK响应

时间:2013-10-10 05:46:12

标签: php response dragonfire-sdk

我正在尝试使用Dragonfire SDK编写mysql数据库的查询。但作为响应,我获得了整个HTML-Structur而不是单个变量。在这个例子中,我想要输入的名字的姓氏。任何想法?

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

但我只想要“马球”..

1 个答案:

答案 0 :(得分: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
  //...
}