我正在为School项目开发应用程序。因此,我将尝试以适当的方式进行解释:

我有一个PHP脚本,允许用户在MYSQL表中搜索一些关键字,代码如下:

<?php


//get data
$button = $_GET['submit'];
$search = $_GET['search'];


$s = $_GET['s'];
if (!$s)
$s = 0;


$e = 10; // Just change to how many results you want per page


$next = $s + $e;
$prev = $s - $e;




 if (strlen($search)<=2)
  echo "Must be greater then 3 chars";
 else
 {
  echo "<br /><table><tr><td><img src='juzzy.jpg' /></td><td><form action='search.php' method='GET'><input type='text' onclick=value='' size='50' name='search' value='$search'> <input type='submit' name='submit' value='Search'></form></td></tr></table>";

  //connect to database
  mysql_connect("localhost","root","root");
  mysql_select_db("content");

   //explode out search term
   $search_exploded = explode(" ",$search);

   foreach($search_exploded as $search_each)
   {

        //construct query
    $x++;
    if ($x==1)
     $construct .= "keywords LIKE '%$search_each%'";
    else
     $construct .= " OR keywords LIKE '%$search_each%'";

   }

  //echo outconstruct
  $constructx = "SELECT * FROM searchengine WHERE $construct";

  $construct = "SELECT * FROM searchengine WHERE $construct LIMIT $s,$e";
  $run = mysql_query($constructx);

  $foundnum = mysql_num_rows($run);


  $run_two = mysql_query("$construct");

  if ($foundnum==0)
   echo "No results found for <b>$search</b>";
  else
  {
   echo "<table bgcolor='#0000FF' width='100%' height='1px'><br /></table><table bgcolor='#f0f7f9' width='100%' height='10px'><tr><td><div align='right'>Showing 1-10 of <b>$foundnum</b> results found for <b>$search.</b></div></td></tr></table><p>";

   while ($runrows = mysql_fetch_assoc($run_two))
   {
    //get data
   $title = $runrows['title'];
   $desc = $runrows['description'];
   $url = $runrows['url'];

   echo "<table width='300px'>
   <h4><a href='http://$url'><b>$title</b></a><br />
   $desc<br>
   <font color='00CC00'>$url</font></table></h4>
   ";


   }
?>


<table width='100%'>
<tr>
<td>
<div align="center">

<?php
if (!$s<=0)
 echo "<a href='search.php?search=$search&s=$prev'>Prev</a>";

$i =1;
for ($x=0;$x<$foundnum;$x=$x+$e)
{


 echo " <a href='search.php?search=$search&s=$x'>$i</a> ";


$i++;


}

if ($s<$foundnum-$e)
  echo "<a href='search.php?search=$search&s=$next'>Next</a>";

    }
}


?>
</div>
</td>
</tr>
</table>


所以我需要将这段代码和一个iPhone应用程序集成起来,我已经构建了执行查询的程序,如下所示:

-(IBAction)executeQuery:(id)sender{

    NSString *encodedValue = [queryValue.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    NSString *cont11 = [NSString stringWithFormat:@"http://localhost:8888/searchengine/searchengine/search.php?search=%@",encodedValue];

    NSData *cont12 = [NSData dataWithContentsOfURL:[NSURL URLWithString:cont11]];

    NSString *cont13 = [[[NSString alloc] initWithData:cont12 encoding:NSUTF8StringEncoding]autorelease];

    NSLog(@"%@", cont13);

    [queryValue resignFirstResponder];


}


那么该应用程序应该如何工作,


当用户在UITextField上输入一些文本并按下按钮时,代码将执行查询[此部分正在正常工作]。
之后,代码必须从PHP获取结果并将其显示在UITableView或任何UI(可以是UILabels)上[这部分不工作]。


我的问题是:

如何执行查询并显示结果(在I​​OS应用程序上)?

最佳答案

您可能不应该使用表格和链接等以HTML格式发送数据,而应采用易于处理的其他格式,例如JSON或XML。

我会选择JSON。使用json_encode()可以对整个查询结果集进行编码。 iPhone应用程序将其下载并解码。

关于现在iOS方面必须发生的事情:这里需要有人提醒,我不喜欢iOS开发。

10-08 16:26