먼저 많은 분들이 도와주셔서 어찌어찌 진행하고 있습니다. 이에 감사드립니다.

 

php에서 xml로 출력해 앱에서 접근해 파싱까지는 성공했습니다.

 

그러나 문제는 앱에서 php로 sql 쿼리를 날려서 처리하게 하고 처리 결과를 앱으로 다시 읽어야 하는데

 

이 과정에 대해서 찾아봣는데 잘 안보이더라고요.

 

제 php 소스입니다.

 

 <?php
//require_once 'login.php';
$db_hostname = 'localhost';
$db_database = 'publications';
$db_username = 'jim';
$db_password = '222';
$db_server = mysql_connect($db_hostname, $db_username, $db_password);
if(!$db_server) die("unable to connect to mysql : " . mysql_error());
mysql_select_db($db_database) or die("unable to select db: " . mysql_error());
$query = "SELECT * FROM classics";
$result = mysql_query($query);
if(!$result) die ("DB access failed : " . mysql_error());
$rows = mysql_num_rows($result);
echo "<?xml version='1.0' encoding='utf-8'?>";
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"" . 
 "\"http://www.w3.org/TR/xhtml11/DTD/xhtml11-strict.dtd\">" .
 "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">";
$query_test = "select * from classics";
$query_result = mysql_query($query_test);
$tempcount = 0;
while ($result = mysql_fetch_object($query_result)) 
{
 echo "<record>";
 echo "<item ";
 echo "author='$result->author'";
 echo "title='$result->title'";
 echo "category='$result->category'";
 echo "year='$result->year'";
 echo "isbn='$result->isbn'>";
 echo ++$tempcount."</item>";
  echo "</record>";
}
mysql_close($db_server);
function get_post($var)
{
 return mysql_real_escape_string($_POST[$var]);
}
?>

 

대충 내용은 DB를 읽어서 xml 로 출력하게 하였습니다. 이렇게해서 앱에서 접근하였고요. (PullParser 를 사용했습니다.)

 

위에서도 적었듯이 

 

1) 앱에서 쿼리를 어떻게 날리며 php 에서 어떻해야 받아서 처리하고 결과를 xml 로 출력할 수 있을까요?

 

2) 1)에서 출력된 결과를 기존의 파서를 써서 접근이 충분히 가능한지요?

 

고수님들으 아낌없는 조언 부탁드립니다.

 

참고로 앱에서 파서는 아래와 같이 썼습니다.


 boolean initem = false;
String ItemName = "";
try
{
 url = new URL("http://192.168.0.35/index.php");
 XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
 XmlPullParser parser = factory.newPullParser();
 parser.setInput(url.openStream(), "utf-8");
 int eventType = parser.getEventType();
 while (eventType != XmlPullParser.END_DOCUMENT) 
 {
  switch (eventType) 
  {
  case XmlPullParser.START_TAG:
   if (parser.getName().equals("item")) 
   {
    aAuthor = parser.getAttributeValue(null, "author");
    aTitle = parser.getAttributeValue(null, "title");
    aCategory = parser.getAttributeValue(null, "category");
    aYear = parser.getAttributeValue(null, "year");
    aIsbn = parser.getAttributeValue(null, "isbn");
    initem = true;
    ItemName += aAuthor + " " + aTitle + " " + aCategory + " " + aYear + " " + aIsbn + " \n\n";
   }
   break;
  case XmlPullParser.TEXT:
   if (initem) 
   {
    ItemName = ItemName + " " + parser.getText() + "\n\n";
    initem = false;
   }
   break;
  }
  eventType = parser.next();
 }
 mResult.setText(ItemName);
}
catch (Exception e) 
{
 ;
}