我正在尝试使用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
但我只想要“马球”..
答案 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
//...
}